From 549376e34b0816a281881c4829e038e10eafeb5a Mon Sep 17 00:00:00 2001 From: Martin Jonas Date: Sun, 18 Dec 2022 12:56:48 +0100 Subject: [PATCH] NodeScopeResolver setting analysedFiles to limit analysis of traits outside analysedPaths is optional --- src/Analyser/NodeScopeResolver.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Analyser/NodeScopeResolver.php b/src/Analyser/NodeScopeResolver.php index 0102032c72..a803e559ee 100644 --- a/src/Analyser/NodeScopeResolver.php +++ b/src/Analyser/NodeScopeResolver.php @@ -180,8 +180,8 @@ class NodeScopeResolver private const LOOP_SCOPE_ITERATIONS = 3; private const GENERALIZE_AFTER_ITERATION = 1; - /** @var bool[] filePath(string) => bool(true) */ - private array $analysedFiles = []; + /** @var ?array filePath(string) => bool(true) */ + private ?array $analysedFiles = []; /** @var array */ private array $earlyTerminatingMethodNames = []; @@ -222,11 +222,11 @@ public function __construct( /** * @api - * @param string[] $files + * @param ?string[] $files */ - public function setAnalysedFiles(array $files): void + public function setAnalysedFiles(?array $files): void { - $this->analysedFiles = array_fill_keys($files, true); + $this->analysedFiles = $files !== null ? array_fill_keys($files, true) : null; } /** @@ -4075,7 +4075,7 @@ private function processTraitUse(Node\Stmt\TraitUse $node, MutatingScope $classS continue; // trait from eval or from PHP itself } $fileName = $this->fileHelper->normalizePath($traitFileName); - if (!isset($this->analysedFiles[$fileName])) { + if ($this->analysedFiles !== null && !isset($this->analysedFiles[$fileName])) { continue; } $parserNodes = $this->parser->parseFile($fileName);