From 0f80dd4ecf31dc952bb477431d931fa0cb061d34 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 31 May 2018 15:20:42 +0300 Subject: [PATCH] Navigation: Use local search scope for top-level properties in script #KT-20465 Fixed --- .../org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java index 7119eb7112f..bd8f902252a 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/KtNamedDeclarationStub.java @@ -141,6 +141,12 @@ abstract class KtNamedDeclarationStub> extends return new LocalSearchScope(enclosingBlock); } + PsiElement parent = getParent(); + PsiElement grandParent = parent != null ? parent.getParent() : null; + if (parent instanceof KtBlockExpression && grandParent instanceof KtScript) { + return new LocalSearchScope(getContainingFile()); + } + if (hasModifier(KtTokens.PRIVATE_KEYWORD)) { KtElement containingClass = PsiTreeUtil.getParentOfType(this, KtClassOrObject.class); if (containingClass instanceof KtObjectDeclaration && ((KtObjectDeclaration) containingClass).isCompanion()) {