[java-highlighting] Avoid duplicate highlighting for duplicate classes when dangling modifier lists are present inside the class

Fixes IDEA-370725 Multiple 'Duplicate class' errors for the same class

GitOrigin-RevId: 1712abbfd7594028d839b5962c5a4ca13881250f
This commit is contained in:
Tagir Valeev
2025-04-11 11:42:37 +02:00
committed by intellij-monorepo-bot
parent 5a566db19b
commit 69fc3018bb
2 changed files with 10 additions and 1 deletions

View File

@@ -480,7 +480,7 @@ final class JavaErrorVisitor extends JavaElementVisitor {
if (error != null) report(error);
}
}
else if (parent instanceof PsiClass aClass) {
else if (parent instanceof PsiClass aClass && aClass.getModifierList() == list) {
if (!hasErrorResults()) myClassChecker.checkDuplicateNestedClass(aClass);
if (!hasErrorResults() && !(aClass instanceof PsiAnonymousClass)) {
/* an anonymous class is highlighted in HighlightClassUtil.checkAbstractInstantiation()*/

View File

@@ -72,4 +72,13 @@ class ok {
class ok2 {
public ok2() {}
public void ok2() {}
}
public class Outer {
public class <error descr="Duplicate class: 'Outer'">Outer</error> {
public<error descr="Identifier or type expected">;</error>
public<error descr="Identifier or type expected">;</error>
public<error descr="Identifier or type expected">;</error>
public<error descr="Identifier or type expected">;</error>
}
}