resolve import conflict with implicit imports (IDEA-100555)

This commit is contained in:
Anna Kozlova
2018-01-05 20:05:50 +01:00
parent c830ef5534
commit 442e7f64e2
2 changed files with 51 additions and 1 deletions
@@ -449,7 +449,7 @@ public class ImportHelper{
}
// check conflicts
if (useOnDemand){
PsiElement[] onDemandRefs = file.getOnDemandImports(false, true);
PsiElement[] onDemandRefs = file.getOnDemandImports(true, true);
List<String> refTexts = new ArrayList<>(onDemandRefs.length);
for (PsiElement ref : onDemandRefs) {
String refName = ref instanceof PsiClass ? ((PsiClass)ref).getQualifiedName() : ((PsiPackage)ref).getQualifiedName();
@@ -226,6 +226,56 @@ class C {
B b;
}
'''
}
void testImportFoldingWithConflictsToJavaLang() {
myFixture.addClass 'package p1; public class String {}'
myFixture.addClass 'package p1; public class A1 {}'
myFixture.addClass 'package p1; public class A2 {}'
myFixture.addClass 'package p1; public class A3 {}'
myFixture.addClass 'package p1; public class A4 {}'
myFixture.addClass 'package p1; public class A5 {}'
myFixture.configureByText 'C.java', '''package p2;
import p1.A1;
import p1.A2;
import p1.A3;
import p1.A4;
class C {
A1 a1;
A2 a2;
A3 a3;
A4 a4;
A<caret>5 a5;
String myName;
}
'''
importClass()
myFixture.checkResult '''package p2;
import p1.*;
import java.lang.String;
class C {
A1 a1;
A2 a2;
A3 a3;
A4 a4;
A5 a5;
String myName;
}
'''
}