mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
show class/package conflict only if corresponding subdirectory contains classes so there could be usages with ambiguous imports
This commit is contained in:
+1
-1
@@ -279,7 +279,7 @@ public class HighlightClassUtil {
|
||||
if (directory instanceof PsiDirectory) {
|
||||
String simpleName = aClass.getName();
|
||||
PsiDirectory subDirectory = ((PsiDirectory)directory).findSubdirectory(simpleName);
|
||||
if (subDirectory != null && simpleName.equals(subDirectory.getName())) {
|
||||
if (subDirectory != null && simpleName.equals(subDirectory.getName()) && PsiTreeUtil.findChildOfType(subDirectory, PsiJavaFile.class) != null) {
|
||||
String message = JavaErrorMessages.message("class.clashes.with.package", name);
|
||||
TextRange range = HighlightNamesUtil.getClassDeclarationTextRange(aClass);
|
||||
return HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(range).descriptionAndTooltip(message).create();
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package pkg;
|
||||
|
||||
public class sub { }
|
||||
@@ -307,6 +307,10 @@ public class AdvHighlightingTest extends DaemonAnalyzerTestCase {
|
||||
doTest(BASE_PATH + "/packageClassClash2/pkg/Sub.java", BASE_PATH + "/packageClassClash2", false, false);
|
||||
}
|
||||
|
||||
public void testPackageAndClassConflictNoClassInSubdir() throws Exception {
|
||||
doTest(BASE_PATH + "/packageClassClashNoClassInDir/pkg/sub.java", BASE_PATH + "/packageClassClashNoClassInDir", false, false);
|
||||
}
|
||||
|
||||
// todo[r.sh] IDEA-91596 (probably PJCRE.resolve() should be changed to qualifier-first model)
|
||||
//public void testPackageAndClassConflict3() throws Exception {
|
||||
// doTest(BASE_PATH + "/packageClassClash3/test/Test.java", BASE_PATH + "/packageClassClash3", false, false);
|
||||
|
||||
Reference in New Issue
Block a user