* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Bundle\DebugBundle\DependencyInjection\Compiler; use Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; /** * Registers the file link format for the {@link \Symfony\Component\HttpKernel\DataCollector\DumpDataCollector}. * * @author Christian Flothmann */ class DumpDataCollectorPass implements CompilerPassInterface { public function process(ContainerBuilder $container): void { if (!$container->hasDefinition('data_collector.dump')) { return; } $definition = $container->getDefinition('data_collector.dump'); if (!$container->has('.virtual_request_stack')) { $definition->replaceArgument(3, new Reference('request_stack')); } if (!$container->hasParameter('web_profiler.debug_toolbar.mode') || WebDebugToolbarListener::DISABLED === $container->getParameter('web_profiler.debug_toolbar.mode')) { $definition->replaceArgument(3, null); } } }