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\CompilerCode
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');
}
}