diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java index 08ac99c51ea5..73db34cf8ce1 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/resolve/VariableResolverProcessor.java @@ -83,7 +83,7 @@ public class VariableResolverProcessor extends ConflictFilterProcessor implement public void add(@NotNull PsiElement element, @NotNull PsiSubstitutor substitutor) { final boolean staticProblem = myStaticScopeFlag && !((PsiModifierListOwner)element).hasModifierProperty(PsiModifier.STATIC) && - !(element instanceof PsiVariable && PsiUtil.isCompileTimeConstant((PsiVariable)element)); + (element instanceof PsiField || !(element instanceof PsiVariable && PsiUtil.isCompileTimeConstant((PsiVariable)element))); add(new CandidateInfo(element, substitutor, myPlace, myAccessClass, staticProblem, myCurrentFileContext)); } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java index d5b9938bc4f1..b8f3b9655c30 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting6/CompileTypeConstantsAccessibleFromStaticFieldInitializers.java @@ -7,4 +7,15 @@ class Test { static final Object j = o; } } + + private final String a = "A"; + static void foo() { + System.out.println(a); + } + + void f() { + class A4 { + static final String t = a; + } + } } \ No newline at end of file