diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java index 7cee51c2d914..a93170650aa8 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java @@ -240,7 +240,7 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple private JavaResolveResult[] resolve(IElementType parentType, @NotNull PsiFile containingFile) { if (parentType == JavaElementType.REFERENCE_EXPRESSION) { JavaResolveResult[] result = resolveToVariable(containingFile); - if (result.length > 0) { + if (result.length == 1 && result[0].isAccessible()) { return result; } diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java new file mode 100644 index 000000000000..772288631436 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/advHighlighting/PrivateFieldInSuperClass.java @@ -0,0 +1,11 @@ +class C { + private int id; +} + +class A extends C { + { + id.MyObject.fromInt(1); + + id.MyObject o; + } +} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java index aaf4ae106d31..832290d5d733 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/LightAdvHighlightingTest.java @@ -391,6 +391,7 @@ public class LightAdvHighlightingTest extends LightDaemonAnalyzerTestCase { public void testIDEA18343() { doTest(false, false); } public void testNewExpressionClass() { doTest(false, false); } public void testInnerClassObjectLiteralFromSuperExpression() { doTest(false, false); } + public void testPrivateFieldInSuperClass() { doTest(false, false); } public void testNoEnclosingInstanceWhenStaticNestedInheritsFromContainingClass() throws Exception { doTest(false, false);