diff --git a/src/lint/linter/ArcanistBaseXHPASTLinter.php b/src/lint/linter/ArcanistBaseXHPASTLinter.php --- a/src/lint/linter/ArcanistBaseXHPASTLinter.php +++ b/src/lint/linter/ArcanistBaseXHPASTLinter.php @@ -157,7 +157,6 @@ * @task sharing */ final protected function getXHPASTTreeForPath($path) { - // If we aren't the linter responsible for actually building the parse // trees, go get the tree from that linter. if ($this->getXHPASTLinter() !== $this) { @@ -165,7 +164,12 @@ } if (!array_key_exists($path, $this->trees)) { + if (!array_key_exists($path, $this->futures)) { + return; + } + $this->trees[$path] = null; + try { $this->trees[$path] = XHPASTTree::newFromDataAndResolvedExecFuture( $this->getData($path),