From b5bfaa98774d0d4a283de5a3472c5f575b7cebc6 Mon Sep 17 00:00:00 2001 From: Ivan Bozhanov Date: Sat, 15 Jul 2017 22:03:09 +0300 Subject: [PATCH] switched from property_exists to instanceof --- src/DefinitionResolver.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/DefinitionResolver.php b/src/DefinitionResolver.php index 1ae4cf4..24e3cbf 100644 --- a/src/DefinitionResolver.php +++ b/src/DefinitionResolver.php @@ -8,6 +8,9 @@ use LanguageServer\Protocol\SymbolInformation; use LanguageServer\Protocol\ParameterInformation; use Microsoft\PhpParser; use Microsoft\PhpParser\Node; +use Microsoft\PhpParser\Node\Expression\AnonymousFunctionCreationExpression; +use Microsoft\PhpParser\Node\MethodDeclaration; +use Microsoft\PhpParser\Node\Statement\FunctionDeclaration; use phpDocumentor\Reflection\{ DocBlock, DocBlockFactory, Fqsen, Type, TypeResolver, Types }; @@ -236,7 +239,11 @@ class DefinitionResolver } $def->parameters = []; - if (property_exists($node, 'parameters') && $node->parameters) { + if (($node instanceof MethodDeclaration || + $node instanceof FunctionDeclaration || + $node instanceof AnonymousFunctionCreationExpression) && + $node->parameters !== null + ) { foreach ($node->parameters->getElements() as $param) { $def->parameters[] = new ParameterInformation( $this->getDeclarationLineFromNode($param),