From 7b633f5e0738b195e288bc39495ec7858c9d7d12 Mon Sep 17 00:00:00 2001 From: Sara Itani Date: Tue, 21 Mar 2017 15:25:49 -0700 Subject: [PATCH] minor perf improvements --- Performance.php | 2 +- src/TolerantDefinitionResolver.php | 2 +- src/TolerantTreeAnalyzer.php | 14 ++++++++------ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/Performance.php b/Performance.php index 8dd0078..cfb0076 100644 --- a/Performance.php +++ b/Performance.php @@ -33,7 +33,7 @@ if (count($testProviderArray) === 0) { } foreach ($testProviderArray as $idx=>$testCaseFile) { - if ($idx > 10) { + if ($idx > 20) { exit(); } diff --git a/src/TolerantDefinitionResolver.php b/src/TolerantDefinitionResolver.php index 25ed302..1271405 100644 --- a/src/TolerantDefinitionResolver.php +++ b/src/TolerantDefinitionResolver.php @@ -536,7 +536,7 @@ class TolerantDefinitionResolver implements DefinitionResolverInterface break; } // Check each previous sibling node for a variable assignment to that variable - while ($n->getPreviousSibling() && $n = $n->getPreviousSibling()) { + while (($prevSibling = $n->getPreviousSibling()) !== null && $n = $prevSibling) { if ($n instanceof Tolerant\Node\Statement\ExpressionStatement) { $n = $n->expression; } diff --git a/src/TolerantTreeAnalyzer.php b/src/TolerantTreeAnalyzer.php index 5e28c60..c172286 100644 --- a/src/TolerantTreeAnalyzer.php +++ b/src/TolerantTreeAnalyzer.php @@ -25,6 +25,8 @@ class TolerantTreeAnalyzer implements TreeAnalyzerInterface { /** @var Tolerant\Node */ private $stmts; + private $diagnostics; + /** * TolerantTreeAnalyzer constructor. * @param Tolerant\Parser $parser @@ -100,15 +102,12 @@ class TolerantTreeAnalyzer implements TreeAnalyzerInterface { } } } - } - public function getDiagnostics() { - $diagnostics = []; - $content = $this->stmts->getFileContents(); foreach (Tolerant\DiagnosticsProvider::getDiagnostics($this->stmts) as $_error) { + $this->diagnostics = []; $range = Tolerant\PositionUtilities::getRangeFromPosition($_error->start, $_error->length, $content); - $diagnostics[] = new Diagnostic( + $this->diagnostics[] = new Diagnostic( $_error->message, new Range( new Position($range->start->line, $range->start->character), @@ -116,7 +115,10 @@ class TolerantTreeAnalyzer implements TreeAnalyzerInterface { ) ); } - return $diagnostics; + } + + public function getDiagnostics() { + return $this->diagnostics; } private function addReference(string $fqn, Tolerant\Node $node)