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

Breadcrumb

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

function Compiler::compile

Same name in this branch
  1. 11.1.x vendor/twig/twig/src/Compiler.php \Twig\Compiler::compile()
  2. 11.1.x vendor/composer/composer/src/Composer/Compiler.php \Composer\Compiler::compile()

Run the Compiler and process all Passes.

File

vendor/symfony/dependency-injection/Compiler/Compiler.php, line 69

Class

Compiler
This class is used to remove circular dependencies between individual passes.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function compile(ContainerBuilder $container) : void {
    try {
        foreach ($this->passConfig
            ->getPasses() as $pass) {
            $pass->process($container);
        }
    } catch (\Exception $e) {
        $usedEnvs = [];
        $prev = $e;
        do {
            $msg = $prev->getMessage();
            if ($msg !== ($resolvedMsg = $container->resolveEnvPlaceholders($msg, null, $usedEnvs))) {
                $r = new \ReflectionProperty($prev, 'message');
                $r->setValue($prev, $resolvedMsg);
            }
        } while ($prev = $prev->getPrevious());
        if ($usedEnvs) {
            $e = new EnvParameterException($usedEnvs, $e);
        }
        throw $e;
    } finally {
        $this->getServiceReferenceGraph()
            ->clear();
    }
}
RSS feed
Powered by Drupal