$container->
addCompilerPass(new AssetsContextPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION
);
$container->
addCompilerPass(new LoggerPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, -32
);
$container->
addCompilerPass(new RegisterControllerArgumentLocatorsPass());
$container->
addCompilerPass(new RemoveEmptyControllerArgumentLocatorsPass(), PassConfig::TYPE_BEFORE_REMOVING
);
$container->
addCompilerPass(new RoutingResolverPass());
$container->
addCompilerPass(new DataCollectorTranslatorPass());
$container->
addCompilerPass(new ProfilerPass());
// must be registered before removing private services as some might be listeners/subscribers
// but as late as possible to get resolved parameters
$container->
addCompilerPass($registerListenersPass, PassConfig::TYPE_BEFORE_REMOVING
);
$this->
addCompilerPassIfExists($container, AddConstraintValidatorsPass::
class);
$container->
addCompilerPass(new AddAnnotationsCachedReaderPass(), PassConfig::TYPE_AFTER_REMOVING, -255
);
$this->
addCompilerPassIfExists($container, AddValidatorInitializersPass::
class);
$this->
addCompilerPassIfExists($container, AddConsoleCommandPass::
class, PassConfig::TYPE_BEFORE_REMOVING
);
// must be registered as late as possible to get access to all Twig paths registered in
// twig.template_iterator definition
$this->
addCompilerPassIfExists($container, TranslatorPass::
class, PassConfig::TYPE_BEFORE_OPTIMIZATION, -32
);
$this->
addCompilerPassIfExists($container, TranslatorPathsPass::
class, PassConfig::TYPE_AFTER_REMOVING
);
$container->
addCompilerPass(new LoggingTranslatorPass());
$container->
addCompilerPass(new AddExpressionLanguageProvidersPass(false
));
$this->
addCompilerPassIfExists($container, TranslationExtractorPass::
class);
$this->
addCompilerPassIfExists($container, TranslationDumperPass::
class);
$container->
addCompilerPass(new FragmentRendererPass());