From b08bf792124443cc080862b301f3feae8943f7fe Mon Sep 17 00:00:00 2001 From: Javier Spagnoletti Date: Fri, 12 Mar 2021 00:19:11 -0300 Subject: [PATCH] Fix calls to nonexistent method `ControllerReflector::getReflectionClassAndMethod()` --- Routing/FilteredRouteCollectionBuilder.php | 10 ++++------ Tests/Routing/FilteredRouteCollectionBuilderTest.php | 3 +-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/Routing/FilteredRouteCollectionBuilder.php b/Routing/FilteredRouteCollectionBuilder.php index 5a166c1..e38a049 100644 --- a/Routing/FilteredRouteCollectionBuilder.php +++ b/Routing/FilteredRouteCollectionBuilder.php @@ -120,22 +120,20 @@ final class FilteredRouteCollectionBuilder return true; } - $classAndMethod = $this->controllerReflector->getReflectionClassAndMethod($route->getDefault('_controller')); + $reflectionMethod = $this->controllerReflector->getReflectionMethod($route->getDefault('_controller')); - if (null === $classAndMethod) { + if (null === $reflectionMethod) { return false; } - list($class, $method) = $classAndMethod; - /** @var Areas|null $areas */ $areas = $this->annotationReader->getMethodAnnotation( - $method, + $reflectionMethod, Areas::class ); if (null === $areas) { - $areas = $this->annotationReader->getClassAnnotation($class, Areas::class); + $areas = $this->annotationReader->getClassAnnotation($reflectionMethod->getDeclaringClass(), Areas::class); } return (null !== $areas) ? $areas->has($this->area) : false; diff --git a/Tests/Routing/FilteredRouteCollectionBuilderTest.php b/Tests/Routing/FilteredRouteCollectionBuilderTest.php index 3f9b084..028c646 100644 --- a/Tests/Routing/FilteredRouteCollectionBuilderTest.php +++ b/Tests/Routing/FilteredRouteCollectionBuilderTest.php @@ -177,10 +177,9 @@ class FilteredRouteCollectionBuilderTest extends TestCase $routes->add($name, $route); $area = 'area'; - $reflectionClassStub = $this->createMock(\ReflectionClass::class); $reflectionMethodStub = $this->createMock(\ReflectionMethod::class); $controllerReflectorStub = $this->createMock(ControllerReflector::class); - $controllerReflectorStub->method('getReflectionClassAndMethod')->willReturn([$reflectionClassStub, $reflectionMethodStub]); + $controllerReflectorStub->method('getReflectionMethod')->willReturn($reflectionMethodStub); $annotationReader = $this->createMock(Reader::class); $annotationReader