diff --git a/src/Protocol/SymbolInformation.php b/src/Protocol/SymbolInformation.php index 0a813ef..2d09d26 100644 --- a/src/Protocol/SymbolInformation.php +++ b/src/Protocol/SymbolInformation.php @@ -50,6 +50,7 @@ class SymbolInformation { $parent = $node->getAttribute('parentNode'); $symbol = new self; + $setDefaultName = true; if ( $node instanceof Node\Expr\FuncCall @@ -62,6 +63,7 @@ class SymbolInformation // define('TEST_DEFINE_CONSTANT', false); $symbol->kind = SymbolKind::CONSTANT; $symbol->name = (string)$node->args[0]->value->value; + $setDefaultName = false; } else if ($node instanceof Node\Stmt\Class_ || $node instanceof Node\Stmt\Trait_) { $symbol->kind = SymbolKind::CLASS_; } else if ($node instanceof Node\Stmt\Interface_) { @@ -96,8 +98,10 @@ class SymbolInformation $symbol->name = $node->var->name; } else if ($node instanceof Node\Expr\ClosureUse) { $symbol->name = $node->var; - } else if (isset($node->name) && !isset($symbol->name)) { - $symbol->name = (string)$node->name; + } else if (isset($node->name)) { + if ($setDefaultName) { + $symbol->name = (string)$node->name; + } } else { return null; }