diff --git a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php index 84a2f464c5d99..cbe405fa22bd0 100644 --- a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php +++ b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler.php @@ -104,16 +104,13 @@ public static function collectDeprecations($outputFile) return \call_user_func(self::getPhpUnitErrorHandler(), $type, $msg, $file, $line, $context); } - $trace = debug_backtrace(); $filesStack = []; - foreach ($trace as $line) { - if (\in_array($line['function'], ['require', 'require_once', 'include', 'include_once'], true)) { + foreach (debug_backtrace() as $frame) { + if (!isset($frame['file']) || \in_array($frame['function'], ['require', 'require_once', 'include', 'include_once'], true)) { continue; } - if (isset($line['file'])) { - $filesStack[] = $line['file']; - } + $filesStack[] = $frame['file']; } $deprecations[] = [error_reporting(), $msg, $file, $filesStack]; diff --git a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php index 55909ee6cf3af..af9b4a539faef 100644 --- a/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php +++ b/src/Symfony/Bridge/PhpUnit/DeprecationErrorHandler/Deprecation.php @@ -165,24 +165,6 @@ public function isMuted() return false !== strpos($this->triggeringFile, \DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR.'phpunit'.\DIRECTORY_SEPARATOR); } - private function getOriginalFilesStack(): array - { - if (null === $this->originalFilesStack) { - $this->originalFilesStack = []; - foreach ($this->trace as $line) { - if (\in_array($line['function'], ['require', 'require_once', 'include', 'include_once'], true)) { - continue; - } - if (!isset($line['file'])) { - continue; - } - $this->originalFilesStack[] = $line['file']; - } - } - - return $this->originalFilesStack; - } - /** * Tells whether both the calling package and the called package are vendor * packages. @@ -224,6 +206,22 @@ public function getType() return self::TYPE_DIRECT; } + private function getOriginalFilesStack(): array + { + if (null === $this->originalFilesStack) { + $this->originalFilesStack = []; + foreach ($this->trace as $frame) { + if (!isset($frame['file']) || \in_array($frame['function'], ['require', 'require_once', 'include', 'include_once'], true)) { + continue; + } + + $this->originalFilesStack[] = $frame['file']; + } + } + + return $this->originalFilesStack; + } + /** * getPathType() should always be called prior to calling this method. * diff --git a/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php b/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php index af3f688d5d2d0..d1faa0cad8509 100644 --- a/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php +++ b/src/Symfony/Bridge/PhpUnit/Tests/DeprecationErrorHandler/DeprecationTest.php @@ -157,7 +157,7 @@ public function providerGetTypeDetectsSelf(): array } return [ - 'not_from_vendors_file' => [Deprecation::TYPE_SELF, '', 'MyClass1', ''], + 'not_from_vendors_file' => [Deprecation::TYPE_SELF, '', 'MyClass1', __FILE__], 'nonexistent_file' => [Deprecation::TYPE_UNDETERMINED, '', 'MyClass1', 'dummy_vendor_path'], 'serialized_trace_with_nonexistent_triggering_file' => [ Deprecation::TYPE_UNDETERMINED, pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy