From 7a1a91017df6a852e9089b0bf095707e30b10f0d Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Sun, 2 May 2021 19:36:00 +0200 Subject: [PATCH] [ErrorHandler] Skip "same vendor" `@method` deprecations for `Symfony\*` classes unless symfony/symfony is being tested --- src/Symfony/Component/ErrorHandler/DebugClassLoader.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Symfony/Component/ErrorHandler/DebugClassLoader.php b/src/Symfony/Component/ErrorHandler/DebugClassLoader.php index 9938ff7186..36fb2ded75 100644 --- a/src/Symfony/Component/ErrorHandler/DebugClassLoader.php +++ b/src/Symfony/Component/ErrorHandler/DebugClassLoader.php @@ -11,6 +11,7 @@ namespace Symfony\Component\ErrorHandler; +use Composer\InstalledVersions; use Doctrine\Common\Persistence\Proxy as LegacyProxy; use Doctrine\Persistence\Proxy; use Mockery\MockInterface; @@ -492,6 +493,14 @@ class DebugClassLoader self::$method[$class] = self::$method[$use]; } } elseif (!$refl->isInterface()) { + if (!strncmp($vendor, str_replace('_', '\\', $use), $vendorLen) + && 0 === strpos($className, 'Symfony\\') + && (!class_exists(InstalledVersions::class) + || 'symfony/symfony' !== InstalledVersions::getRootPackage()['name']) + ) { + // skip "same vendor" @method deprecations for Symfony\* classes unless symfony/symfony is being tested + continue; + } $hasCall = $refl->hasMethod('__call'); $hasStaticCall = $refl->hasMethod('__callStatic'); foreach (self::$method[$use] as $method) {