public function RemoveAbstractDefinitionsPass::process

Removes abstract definitions from the ContainerBuilder

Parameters

ContainerBuilder $container:

Overrides CompilerPassInterface::process

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php, line 27

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