mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-151371 Ambiguous import of Map that is not ambiguous anymore
This commit is contained in:
+1
-6
@@ -235,12 +235,7 @@ public abstract class ImportClassFixBase<T extends PsiElement, R extends PsiRefe
|
||||
protected static List<PsiClass> filterAssignableFrom(PsiType type, List<PsiClass> candidates) {
|
||||
final PsiClass actualClass = PsiUtil.resolveClassInClassTypeOnly(type);
|
||||
if (actualClass != null) {
|
||||
return ContainerUtil.findAll(candidates, new Condition<PsiClass>() {
|
||||
@Override
|
||||
public boolean value(PsiClass psiClass) {
|
||||
return InheritanceUtil.isInheritorOrSelf(psiClass, actualClass, true);
|
||||
}
|
||||
});
|
||||
return ContainerUtil.findAll(candidates, psiClass -> InheritanceUtil.isInheritorOrSelf(actualClass, psiClass, true));
|
||||
}
|
||||
return candidates;
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.codeInsight.intention
|
||||
|
||||
import com.intellij.codeInsight.daemon.impl.quickfix.ImportClassFix
|
||||
import com.intellij.lang.java.JavaLanguage
|
||||
import com.intellij.pom.java.LanguageLevel
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings
|
||||
@@ -101,6 +103,19 @@ public class Foo {
|
||||
'''
|
||||
}
|
||||
|
||||
public void "test use initializer"() {
|
||||
myFixture.addClass 'package foo; public class Map {}'
|
||||
myFixture.configureByText 'a.java', '''\
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Foo {
|
||||
Ma<caret>p l = new HashMap<>();
|
||||
}
|
||||
'''
|
||||
ImportClassFix intention = myFixture.findSingleIntention("Import class") as ImportClassFix
|
||||
assert intention.classesToImport.collect { it.qualifiedName } == ['java.util.Map']
|
||||
}
|
||||
|
||||
public void testUseOverrideContext() {
|
||||
myFixture.addClass 'package foo; public class Log {}'
|
||||
myFixture.addClass 'package bar; public class Log {}'
|
||||
|
||||
Reference in New Issue
Block a user