Skip to content

Commit c5cf1fa

Browse files
authored
FileAnalyser: Move repetitive work out of hot loop
1 parent 4a143bd commit c5cf1fa

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/Analyser/FileAnalyser.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,9 @@ public function analyseFile(
103103
$this->collectErrors($analysedFiles);
104104
$parserNodes = $this->parser->parseFile($file);
105105
$linesToIgnore = $unmatchedLineIgnores = [$file => $this->getLinesToIgnoreFromTokens($parserNodes)];
106+
$ignoreErrorExtensions = $this->ignoreErrorExtensionProvider->getExtensions();
106107
$temporaryFileErrors = [];
107-
$nodeCallback = function (Node $node, $scope, int $callbackInvocationNumber) use (&$fileErrors, &$fileCollectedData, &$fileDependencies, &$usedTraitFileDependencies, &$exportedNodes, $file, $ruleRegistry, $collectorRegistry, $outerNodeCallback, $analysedFiles, &$linesToIgnore, &$unmatchedLineIgnores, &$temporaryFileErrors, $parserNodes): void {
108+
$nodeCallback = function (Node $node, $scope, int $callbackInvocationNumber) use (&$fileErrors, &$fileCollectedData, &$fileDependencies, &$usedTraitFileDependencies, &$exportedNodes, $file, $ruleRegistry, $collectorRegistry, $outerNodeCallback, $analysedFiles, &$linesToIgnore, &$unmatchedLineIgnores, &$temporaryFileErrors, $parserNodes, $ignoreErrorExtensions): void {
108109
/** @var Scope&NodeCallbackInvoker $scope */
109110
if ($node instanceof Node\Stmt\Trait_) {
110111
foreach (array_keys($linesToIgnore[$file] ?? []) as $lineToIgnore) {
@@ -171,7 +172,7 @@ public function analyseFile(
171172
$error = $this->ruleErrorTransformer->transform($ruleError, $scope, $parserNodes, $node);
172173

173174
if ($error->canBeIgnored()) {
174-
foreach ($this->ignoreErrorExtensionProvider->getExtensions() as $ignoreErrorExtension) {
175+
foreach ($ignoreErrorExtensions as $ignoreErrorExtension) {
175176
if ($ignoreErrorExtension->shouldIgnore($error, $node, $scope)) {
176177
continue 2;
177178
}

0 commit comments

Comments
 (0)