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

Breadcrumb

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

function PassConfig::__construct

File

vendor/symfony/dependency-injection/Compiler/PassConfig.php, line 39

Class

PassConfig
Compiler Pass Configuration.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function __construct() {
    $this->mergePass = new MergeExtensionConfigurationPass();
    $this->beforeOptimizationPasses = [
        100 => [
            new ResolveClassPass(),
            new RegisterAutoconfigureAttributesPass(),
            new AutowireAsDecoratorPass(),
            new AttributeAutoconfigurationPass(),
            new ResolveInstanceofConditionalsPass(),
            new RegisterEnvVarProcessorsPass(),
        ],
        -1000 => [
            new ExtensionCompilerPass(),
        ],
    ];
    $this->optimizationPasses = [
        [
            new AutoAliasServicePass(),
            new ValidateEnvPlaceholdersPass(),
            new ResolveDecoratorStackPass(),
            new ResolveAutowireInlineAttributesPass(),
            new ResolveChildDefinitionsPass(),
            new RegisterServiceSubscribersPass(),
            new ResolveParameterPlaceHoldersPass(false, false),
            new ResolveFactoryClassPass(),
            new ResolveNamedArgumentsPass(),
            new AutowireRequiredMethodsPass(),
            new AutowireRequiredPropertiesPass(),
            new ResolveBindingsPass(),
            new ServiceLocatorTagPass(),
            new DecoratorServicePass(),
            new CheckDefinitionValidityPass(),
            new AutowirePass(false),
            new ServiceLocatorTagPass(),
            new ResolveTaggedIteratorArgumentPass(),
            new ResolveServiceSubscribersPass(),
            new ResolveReferencesToAliasesPass(),
            new ResolveInvalidReferencesPass(),
            new AnalyzeServiceReferencesPass(true),
            new CheckCircularReferencesPass(),
            new CheckReferenceValidityPass(),
            new CheckArgumentsValidityPass(false),
        ],
    ];
    $this->removingPasses = [
        [
            new RemovePrivateAliasesPass(),
            new ReplaceAliasByActualDefinitionPass(),
            new RemoveAbstractDefinitionsPass(),
            new RemoveUnusedDefinitionsPass(),
            new AnalyzeServiceReferencesPass(),
            new CheckExceptionOnInvalidReferenceBehaviorPass(),
            new InlineServiceDefinitionsPass(new AnalyzeServiceReferencesPass()),
            new AnalyzeServiceReferencesPass(),
            new DefinitionErrorExceptionPass(),
        ],
    ];
    $this->afterRemovingPasses = [
        0 => [
            new ResolveHotPathPass(),
            new ResolveNoPreloadPass(),
            new AliasDeprecatedPublicServicesPass(),
        ],
        // Let build parameters be available as late as possible
-2048 => [
            new RemoveBuildParametersPass(),
        ],
    ];
}
RSS feed
Powered by Drupal