1
0
Fork 0

Fix text document loader bug.

pull/483/head
Alan Li 2017-05-10 10:11:14 -04:00
parent edc69a3326
commit e63256b438
2 changed files with 10 additions and 2 deletions

View File

@ -20,7 +20,7 @@ class PhpDocumentLoader
* *
* @var PhpDocument * @var PhpDocument
*/ */
private $documents = []; public $documents = [];
/** /**
* @var ContentRetriever * @var ContentRetriever

View File

@ -261,7 +261,15 @@ class TextDocument
public function definition(TextDocumentIdentifier $textDocument, Position $position): Promise public function definition(TextDocumentIdentifier $textDocument, Position $position): Promise
{ {
return coroutine(function () use ($textDocument, $position) { return coroutine(function () use ($textDocument, $position) {
$document = yield $this->documentLoader->getOrLoad($textDocument->uri); $documentLoader = $this->documentLoader;//->getOrLoad($textDocument->uri);
$document = null;
if (isset($documentLoader->documents[$textDocument->uri])) {
$document = $documentLoader->documents[$textDocument->uri];
} else {
$document = yield $documentLoader->load($textDocument->uri);
$documentLoader->documents[$textDocument->uri] = $document;
}
$node = $document->getNodeAtPosition($position); $node = $document->getNodeAtPosition($position);
if ($node === null) { if ($node === null) {
return []; return [];