[java-highlighting] IDEA-340048 Incorrect reference highlighting in implicitly declared classes

GitOrigin-RevId: ab40db645c83da5c715b4b09ef58c873a7dccfd3
This commit is contained in:
Mikhail Pyltsin
2023-12-07 14:05:21 +01:00
committed by intellij-monorepo-bot
parent c1a96c8baf
commit 9f280818c9
3 changed files with 25 additions and 1 deletions

View File

@@ -1532,8 +1532,9 @@ public final class GenericsHighlightUtil {
return null;
}
PsiImplicitClass parentImplicitClass = PsiTreeUtil.getParentOfType(aClass, PsiImplicitClass.class);
String qualifiedName = aClass.getQualifiedName();
if (qualifiedName != null && factory.findClass(qualifiedName, resolveScope) == null) {
if (parentImplicitClass == null && qualifiedName != null && factory.findClass(qualifiedName, resolveScope) == null) {
return JavaErrorBundle.message("text.class.cannot.access", HighlightUtil.formatClass(aClass));
}

View File

@@ -0,0 +1,19 @@
String a = "!";
enum E {A, B}
record Rar() {
}
class AA {
public void t(Rar rar) {
}
}
void main() {
System.out.println(a);
Rar x = new Rar();
new AA().t(x);
System.out.println(x);
}

View File

@@ -32,6 +32,10 @@ class ImplicitClassHighlightingTest : LightJavaCodeInsightFixtureTestCase() {
doTest()
}
fun testNestedReferenceHighlighting() {
doTest()
}
private fun doTest() {
myFixture.configureByFile(getTestName(false) + ".java")
myFixture.checkHighlighting()