/** * {@inheritdoc} */ public function execute() { // sanity check if (!$this->typeDescriptor->isLoaded()) { return; } // never fails with the check before $this->containingModule = $this->typeDescriptor->getContainingModule(); $typeName = $this->typeDescriptor->getTypeName(); $moduleName = $this->containingModule->getName(); // never fails with the check before $this->typeDescriptor->unload(); if ($this->typeDescriptors->contains($typeName, $moduleName) && $this->typeDescriptor === $this->typeDescriptors->get($typeName, $moduleName)) { // never fails $this->typeDescriptors->remove($typeName, $moduleName); $this->wasRemoved = true; } }