1
0
Fork 0

Support getting references from a reference

Closes #201
pull/189/head^2
Felix Becker 2016-12-13 02:53:01 +01:00
parent b8a113ddd0
commit 96ea8608d7
2 changed files with 17 additions and 1 deletions

View File

@ -209,7 +209,10 @@ class TextDocument
// Definition with a global FQN // Definition with a global FQN
$fqn = DefinitionResolver::getDefinedFqn($node); $fqn = DefinitionResolver::getDefinedFqn($node);
if ($fqn === null) { if ($fqn === null) {
return []; $fqn = $this->definitionResolver->resolveReferenceNodeToFqn($node);
if ($fqn === null) {
return [];
}
} }
$refDocuments = yield Promise\all(array_map( $refDocuments = yield Promise\all(array_map(
[$this->documentLoader, 'getOrLoad'], [$this->documentLoader, 'getOrLoad'],

View File

@ -146,4 +146,17 @@ class GlobalTest extends ServerTestCase
new Location($referencesUri, new Range(new Position(31, 13), new Position(31, 40))) new Location($referencesUri, new Range(new Position(31, 13), new Position(31, 40)))
], $result); ], $result);
} }
public function testReferencesForReference()
{
// $obj = new TestClass();
// Get references for TestClass
$reference = $this->getReferenceLocations('TestClass')[0];
$result = $this->textDocument->references(
new ReferenceContext,
new TextDocumentIdentifier($reference->uri),
$reference->range->start
)->wait();
$this->assertEquals($this->getReferenceLocations('TestClass'), $result);
}
} }