[java, highlighting, jigsaw] standardize an error message for conflicting packages

GitOrigin-RevId: 47d26dd0242ad7c5c533c232897d2c7486fb1dca
This commit is contained in:
Aleksey Dobrynin
2024-09-24 10:49:24 +02:00
committed by intellij-monorepo-bot
parent ba54dfd721
commit 99c228c466
2 changed files with 7 additions and 5 deletions

View File

@@ -57,8 +57,10 @@ final class ModuleHighlightUtil {
if (packageName != null) {
PsiJavaModule origin = JavaModuleGraphUtil.findOrigin(javaModule, packageName);
if (origin != null) {
String message = JavaErrorBundle.message("module.conflicting.packages", packageName, origin.getName());
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(statement).descriptionAndTooltip(message);
PsiJavaCodeReferenceElement reference = statement.getPackageReference();
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR)
.range(reference)
.descriptionAndTooltip(JavaErrorBundle.message("module.conflicting.packages", packageName, origin.getName()));
}
}
}

View File

@@ -612,11 +612,11 @@ class ModuleHighlightingTest : LightJava9ModulesCodeInsightFixtureTestCase() {
addFile("module-info.java", "module M6 { requires transitive M7; }", M6)
addFile("module-info.java", "module M7 { exports pkg.collision7 to M6; }", M7)
addFile("module-info.java", "module M { requires M2; requires M4; requires M6; requires lib.auto; }")
highlight("test1.java", """<error descr="Package 'pkg.collision2' exists in another module: M2">package pkg.collision2;</error>""")
highlight("test1.java", """package <error descr="Package 'pkg.collision2' exists in another module: M2">pkg.collision2</error>;""")
highlight("test2.java", """package pkg.collision4;""")
highlight("test3.java", """package pkg.collision7;""")
highlight("test4.java", """<error descr="Package 'java.util' exists in another module: java.base">package java.util;</error>""")
highlight("test5.java", """<error descr="Package 'pkg.lib2' exists in another module: lib.auto">package pkg.lib2;</error>""")
highlight("test4.java", """package <error descr="Package 'java.util' exists in another module: java.base">java.util</error>;""")
highlight("test5.java", """package <error descr="Package 'pkg.lib2' exists in another module: lib.auto">pkg.lib2</error>;""")
}
fun testClashingReads1() {