IDEA-178535 Duplicate class suggestions in cast

This commit is contained in:
peter
2017-09-16 19:11:43 +02:00
parent 84f49683cb
commit bbc6baa91e
3 changed files with 17 additions and 1 deletions
@@ -125,7 +125,7 @@ class SmartCastProvider extends CompletionProvider<CompletionParameters> {
if (info.getKind() == ExpectedTypeInfo.TYPE_OR_SUPERTYPE) {
InheritanceUtil.processSupers(infoClass, true, superClass -> {
if (!CommonClassNames.JAVA_LANG_OBJECT.equals(superClass.getQualifiedName())) {
result.consume(JavaPsiFacade.getElementFactory(superClass.getProject()).createType(superClass));
result.consume(JavaPsiFacade.getElementFactory(superClass.getProject()).createType(CompletionUtil.getOriginalOrSelf(superClass)));
}
return true;
});
@@ -0,0 +1,11 @@
class X {
void foo(Object o){
if (o instanceof Foo) {
((Foo<caret>) o).bar();
}
}
class Foo {
void bar() {}
}
}
@@ -1837,4 +1837,9 @@ class Bar {{
assert LookupElementPresentation.renderElement(item).tailText.contains('local class')
}
void testNoDuplicateInCast() {
configure()
assert myFixture.lookupElementStrings == null
}
}