From a799ab72e399992220d7cf722310a1ca6dcdfc26 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Fri, 30 Jun 2017 17:41:07 +0200 Subject: [PATCH] groovy: don't enlarge scope for fields of local or anonymous classes resolve won't be possible anyway --- .../lang/psi/impl/search/GrPrivateFieldScopeEnlarger.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/search/GrPrivateFieldScopeEnlarger.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/search/GrPrivateFieldScopeEnlarger.java index c184244c36e5..d3a3ca1b4076 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/search/GrPrivateFieldScopeEnlarger.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/search/GrPrivateFieldScopeEnlarger.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.groovy.lang.psi.impl.search; +import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiField; import com.intellij.psi.PsiModifier; @@ -22,6 +23,7 @@ import com.intellij.psi.impl.ResolveScopeManager; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.UseScopeEnlarger; +import com.intellij.psi.util.PsiUtil; import org.jetbrains.annotations.NotNull; /** @@ -31,6 +33,8 @@ public class GrPrivateFieldScopeEnlarger extends UseScopeEnlarger { @Override public SearchScope getAdditionalUseScope(@NotNull PsiElement element) { if (element instanceof PsiField && ((PsiField)element).hasModifierProperty(PsiModifier.PRIVATE)) { + PsiClass containingClass = ((PsiField)element).getContainingClass(); + if (containingClass != null && PsiUtil.isLocalOrAnonymousClass(containingClass)) return null; final GlobalSearchScope maximalUseScope = ResolveScopeManager.getElementUseScope(element); return new GrSourceFilterScope(maximalUseScope); }