diff --git a/src/PhpDocument.php b/src/PhpDocument.php index f7b813e..7820701 100644 --- a/src/PhpDocument.php +++ b/src/PhpDocument.php @@ -56,9 +56,9 @@ class PhpDocument /** * The AST of the document * - * @var Node + * @var Node\SourceFileNode */ - private $stmts; + private $sourceFileNode; /** * Map from fully qualified name (FQN) to Definition @@ -172,7 +172,7 @@ class PhpDocument $this->index->addReferenceUri($fqn, $this->uri); } - $this->stmts = $treeAnalyzer->getStmts(); + $this->sourceFileNode = $treeAnalyzer->getSourceFileNode(); } /** @@ -221,11 +221,11 @@ class PhpDocument /** * Returns the AST of the document * - * @return Node | null + * @return Node\SourceFileNode|null */ - public function getStmts() + public function getSourceFileNode() { - return $this->stmts; + return $this->sourceFileNode; } /** @@ -236,12 +236,12 @@ class PhpDocument */ public function getNodeAtPosition(Position $position) { - if ($this->stmts === null) { + if ($this->sourceFileNode === null) { return null; } - $offset = $position->toOffset($this->stmts->getFileContents()); - $node = $this->stmts->getDescendantNodeAtPosition($offset); + $offset = $position->toOffset($this->sourceFileNode->getFileContents()); + $node = $this->sourceFileNode->getDescendantNodeAtPosition($offset); if ($node !== null && $node->getStart() > $offset) { return null; } diff --git a/src/TreeAnalyzer.php b/src/TreeAnalyzer.php index 08c60b0..3296ae8 100644 --- a/src/TreeAnalyzer.php +++ b/src/TreeAnalyzer.php @@ -15,8 +15,8 @@ class TreeAnalyzer /** @var PhpParser\Parser */ private $parser; - /** @var Node */ - private $stmts; + /** @var Node\SourceFileNode */ + private $sourceFileNode; /** @var Diagnostic[] */ private $diagnostics; @@ -46,17 +46,17 @@ class TreeAnalyzer $this->docBlockFactory = $docBlockFactory; $this->definitionResolver = $definitionResolver; $this->content = $content; - $this->stmts = $this->parser->parseSourceFile($content, $uri); + $this->sourceFileNode = $this->parser->parseSourceFile($content, $uri); // TODO - docblock errors - $this->collectDefinitionsAndReferences($this->stmts); + $this->collectDefinitionsAndReferences($this->sourceFileNode); } - private function collectDefinitionsAndReferences(Node $stmts) + private function collectDefinitionsAndReferences(Node $sourceFileNode) { - foreach ($stmts::CHILD_NAMES as $name) { - $node = $stmts->$name; + foreach ($sourceFileNode::CHILD_NAMES as $name) { + $node = $sourceFileNode->$name; if ($node === null) { continue; @@ -200,10 +200,10 @@ class TreeAnalyzer } /** - * @return Node[] + * @return Node\SourceFileNode */ - public function getStmts() + public function getSourceFileNode() { - return $this->stmts; + return $this->sourceFileNode; } } diff --git a/tests/DefinitionResolverTest.php b/tests/DefinitionResolverTest.php index e7d8b78..0397e71 100644 --- a/tests/DefinitionResolverTest.php +++ b/tests/DefinitionResolverTest.php @@ -14,11 +14,11 @@ class DefinitionResolverTest extends TestCase { $parser = new PhpParser\Parser; $doc = new MockPhpDocument; - $stmts = $parser->parseSourceFile("getUri()); + $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); - $def = $definitionResolver->createDefinitionFromNode($stmts->statementList[1]->expression, '\TEST_DEFINE'); + $def = $definitionResolver->createDefinitionFromNode($sourceFileNode->statementList[1]->expression, '\TEST_DEFINE'); $this->assertInstanceOf(\phpDocumentor\Reflection\Types\Boolean::class, $def->type); } @@ -27,11 +27,11 @@ class DefinitionResolverTest extends TestCase { $parser = new PhpParser\Parser; $doc = new MockPhpDocument; - $stmts = $parser->parseSourceFile("getUri()); + $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); - $type = $definitionResolver->getTypeFromNode($stmts->statementList[1]->expression); + $type = $definitionResolver->getTypeFromNode($sourceFileNode->statementList[1]->expression); $this->assertInstanceOf(\phpDocumentor\Reflection\Types\Boolean::class, $type); } @@ -41,11 +41,11 @@ class DefinitionResolverTest extends TestCase // define('XXX') (only one argument) must not introduce a new symbol $parser = new PhpParser\Parser; $doc = new MockPhpDocument; - $stmts = $parser->parseSourceFile("getUri()); + $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); - $fqn = $definitionResolver->getDefinedFqn($stmts->statementList[1]->expression); + $fqn = $definitionResolver->getDefinedFqn($sourceFileNode->statementList[1]->expression); $this->assertNull($fqn); } @@ -54,11 +54,11 @@ class DefinitionResolverTest extends TestCase { $parser = new PhpParser\Parser; $doc = new MockPhpDocument; - $stmts = $parser->parseSourceFile("getUri()); + $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); - $fqn = $definitionResolver->getDefinedFqn($stmts->statementList[1]->expression); + $fqn = $definitionResolver->getDefinedFqn($sourceFileNode->statementList[1]->expression); $this->assertEquals('TEST_DEFINE', $fqn); }