Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ResolveInstanceofConditionalsPass.php

function ResolveInstanceofConditionalsPass::process

Overrides CompilerPassInterface::process

File

vendor/symfony/dependency-injection/Compiler/ResolveInstanceofConditionalsPass.php, line 27

Class

ResolveInstanceofConditionalsPass
Applies instanceof conditionals to definitions.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) : void {
    foreach ($container->getAutoconfiguredInstanceof() as $interface => $definition) {
        if ($definition->getArguments()) {
            throw new InvalidArgumentException(\sprintf('Autoconfigured instanceof for type "%s" defines arguments but these are not supported and should be removed.', $interface));
        }
    }
    $tagsToKeep = [];
    if ($container->hasParameter('container.behavior_describing_tags')) {
        $tagsToKeep = $container->getParameter('container.behavior_describing_tags');
    }
    foreach ($container->getDefinitions() as $id => $definition) {
        $container->setDefinition($id, $this->processDefinition($container, $id, $definition, $tagsToKeep));
    }
    if ($container->hasParameter('container.behavior_describing_tags')) {
        $container->getParameterBag()
            ->remove('container.behavior_describing_tags');
    }
}
RSS feed
Powered by Drupal