/** * @param DefinitionProviderInterface $provider */ public function addDefinitionProvider(DefinitionProviderInterface $provider) { if ($provider instanceof ContainerAwareInterface) { $provider->setContainer($this); } foreach ($provider->getDefinitions() as $identifier => $definition) { if ($definition instanceof ExtendDefinitionInterface) { $this->extensions[$definition->getExtended()][] = $definition; } else { $this->interopDefinitions[$identifier] = $definition; } } }