vendor/symfony/runtime/Resolver/DebugClosureResolver.php line 28

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Runtime\Resolver;
  11. /**
  12.  * @author Nicolas Grekas <p@tchwork.com>
  13.  */
  14. class DebugClosureResolver extends ClosureResolver
  15. {
  16.     /**
  17.      * {@inheritdoc}
  18.      */
  19.     public function resolve(): array
  20.     {
  21.         [$closure$arguments] = parent::resolve();
  22.         return [
  23.             static function (...$arguments) use ($closure) {
  24.                 if (\is_object($app $closure(...$arguments)) || null === $app) {
  25.                     return $app;
  26.                 }
  27.                 $r = new \ReflectionFunction($closure);
  28.                 throw new \TypeError(sprintf('Unexpected value of type "%s" returned, "object" expected from "%s" on line "%d".'get_debug_type($app), $r->getFileName(), $r->getStartLine()));
  29.             },
  30.             $arguments,
  31.         ];
  32.     }
  33. }