1
0
Fork 0

Update SymbolInformation.php

pull/347/head
Felix Becker 2017-04-17 16:37:21 +02:00 committed by GitHub
parent 2625a1062b
commit 8ac306f653
1 changed files with 11 additions and 12 deletions

View File

@ -50,7 +50,6 @@ class SymbolInformation
{ {
$parent = $node->getAttribute('parentNode'); $parent = $node->getAttribute('parentNode');
$symbol = new self; $symbol = new self;
$setDefaultName = true;
if ( if (
$node instanceof Node\Expr\FuncCall $node instanceof Node\Expr\FuncCall
@ -63,7 +62,6 @@ class SymbolInformation
// define('TEST_DEFINE_CONSTANT', false); // define('TEST_DEFINE_CONSTANT', false);
$symbol->kind = SymbolKind::CONSTANT; $symbol->kind = SymbolKind::CONSTANT;
$symbol->name = (string)$node->args[0]->value->value; $symbol->name = (string)$node->args[0]->value->value;
$setDefaultName = false;
} else if ($node instanceof Node\Stmt\Class_ || $node instanceof Node\Stmt\Trait_) { } else if ($node instanceof Node\Stmt\Class_ || $node instanceof Node\Stmt\Trait_) {
$symbol->kind = SymbolKind::CLASS_; $symbol->kind = SymbolKind::CLASS_;
} else if ($node instanceof Node\Stmt\Interface_) { } else if ($node instanceof Node\Stmt\Interface_) {
@ -92,18 +90,19 @@ class SymbolInformation
} else { } else {
return null; return null;
} }
if ($node instanceof Node\Name) {
$symbol->name = (string)$node; if (!isset($symbol->name)) {
} else if ($node instanceof Node\Expr\Assign || $node instanceof Node\Expr\AssignOp) { if ($node instanceof Node\Name) {
$symbol->name = $node->var->name; $symbol->name = (string)$node;
} else if ($node instanceof Node\Expr\ClosureUse) { } else if ($node instanceof Node\Expr\Assign || $node instanceof Node\Expr\AssignOp) {
$symbol->name = $node->var; $symbol->name = $node->var->name;
} else if (isset($node->name)) { } else if ($node instanceof Node\Expr\ClosureUse) {
if ($setDefaultName) { $symbol->name = $node->var;
} else if (isset($node->name)) {
$symbol->name = (string)$node->name; $symbol->name = (string)$node->name;
} else {
return null;
} }
} else {
return null;
} }
$symbol->location = Location::fromNode($node); $symbol->location = Location::fromNode($node);