* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Sensio\Bundle\FrameworkExtraBundle\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; class AddExpressionLanguageProvidersPass implements CompilerPassInterface { /** * {@inheritdoc} */ public function process(ContainerBuilder $container) { if ($container->hasDefinition('sensio_framework_extra.security.expression_language.default')) { $definition = $container->findDefinition('sensio_framework_extra.security.expression_language.default'); foreach ($container->findTaggedServiceIds('security.expression_language_provider') as $id => $attributes) { $definition->addMethodCall('registerProvider', [new Reference($id)]); } } } }