You are here

public function RemoveAbstractDefinitionsPass::process in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php \Symfony\Component\DependencyInjection\Compiler\RemoveAbstractDefinitionsPass::process()

Removes abstract definitions from the ContainerBuilder.

Parameters

ContainerBuilder $container:

Overrides CompilerPassInterface::process

File

vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php, line 26

Class

RemoveAbstractDefinitionsPass
Removes abstract Definitions.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) {
  $compiler = $container
    ->getCompiler();
  $formatter = $compiler
    ->getLoggingFormatter();
  foreach ($container
    ->getDefinitions() as $id => $definition) {
    if ($definition
      ->isAbstract()) {
      $container
        ->removeDefinition($id);
      $compiler
        ->addLogMessage($formatter
        ->formatRemoveService($this, $id, 'abstract'));
    }
  }
}