From df898ec633eb4a2a4fd95ac49c13699993d5e846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20No=C3=A9=20Gonz=C3=A1lez?= Date: Sat, 10 Nov 2018 14:22:55 +0100 Subject: [PATCH] Merging with master --- src/CompletionProvider.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/CompletionProvider.php b/src/CompletionProvider.php index 2461031..ff640f0 100644 --- a/src/CompletionProvider.php +++ b/src/CompletionProvider.php @@ -272,7 +272,7 @@ class CompletionProvider $fqns = FqnUtilities\getFqnsFromType( $classType = $this->definitionResolver->resolveExpressionNodeToType($scoped->scopeResolutionQualifier) ); - + $isInMethodDeclaration = null !== $node->getFirstAncestor(\Microsoft\PhpParser\Node\MethodDeclaration::class); // Append :: operator to only get static members of all parents $prefixes = []; foreach ($this->expandParentFqns($fqns) as $prefix) { @@ -282,7 +282,9 @@ class CompletionProvider // Collect all definitions that match any of the prefixes foreach ($this->index->getDefinitions() as $fqn => $def) { foreach ($prefixes as $prefix) { - if (substr(strtolower($fqn), 0, strlen($prefix)) === strtolower($prefix) && $def->isMember) { + if (substr(strtolower($fqn), 0, strlen($prefix)) === strtolower($prefix) && + $def->isMember && + $def->isVisible($prefix, $prefixes[0], $isInMethodDeclaration)) { $list->items[] = CompletionItemFactory::fromDefinition($def); } }