<?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Bundle\FrameworkBundle\Controller;use Symfony\Component\DependencyInjection\ContainerAwareInterface;use Symfony\Component\HttpKernel\Controller\ContainerControllerResolver;/** * @author Fabien Potencier <fabien@symfony.com> * * @final */class ControllerResolver extends ContainerControllerResolver{ /** * {@inheritdoc} */ protected function instantiateController(string $class): object { $controller = parent::instantiateController($class); if ($controller instanceof ContainerAwareInterface) { $controller->setContainer($this->container); } if ($controller instanceof AbstractController) { if (null === $previousContainer = $controller->setContainer($this->container)) { throw new \LogicException(sprintf('"%s" has no container set, did you forget to define it as a service subscriber?', $class)); } else { $controller->setContainer($previousContainer); } } return $controller; }}