KT-10664 No code completion after variable initialized with elvis
#KT-10664 Fixed
This commit is contained in:
+3
-3
@@ -73,12 +73,12 @@ public class SmartCastManager {
|
||||
@NotNull DeclarationDescriptor containingDeclarationOrModule,
|
||||
@NotNull DataFlowInfo dataFlowInfo
|
||||
) {
|
||||
final List<KotlinType> variants = getSmartCastVariants(receiverToCast, bindingContext,
|
||||
containingDeclarationOrModule, dataFlowInfo);
|
||||
final List<KotlinType> variants = CollectionsKt.distinct(
|
||||
getSmartCastVariants(receiverToCast, bindingContext, containingDeclarationOrModule, dataFlowInfo));
|
||||
return CollectionsKt.filter(variants, new Function1<KotlinType, Boolean>() {
|
||||
@Override
|
||||
public Boolean invoke(final KotlinType type) {
|
||||
return !CollectionsKt.any(variants, new Function1<KotlinType, Boolean>() {
|
||||
return CollectionsKt.none(variants, new Function1<KotlinType, Boolean>() {
|
||||
@Override
|
||||
public Boolean invoke(KotlinType another) {
|
||||
return another != type && KotlinTypeChecker.DEFAULT.isSubtypeOf(another, type);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(): String? = null
|
||||
|
||||
fun bar() {
|
||||
val f = foo() ?: return
|
||||
f.<caret>
|
||||
}
|
||||
|
||||
// EXIST: length
|
||||
// EXIST: hashCode
|
||||
+6
@@ -463,6 +463,12 @@ public class JSBasicCompletionTestGenerated extends AbstractJSBasicCompletionTes
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("KT10664.kt")
|
||||
public void testKT10664() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/KT10664.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("LocalMultideclarationValues.kt")
|
||||
public void testLocalMultideclarationValues() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt");
|
||||
|
||||
+6
@@ -463,6 +463,12 @@ public class JvmBasicCompletionTestGenerated extends AbstractJvmBasicCompletionT
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("KT10664.kt")
|
||||
public void testKT10664() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/KT10664.kt");
|
||||
doTest(fileName);
|
||||
}
|
||||
|
||||
@TestMetadata("LocalMultideclarationValues.kt")
|
||||
public void testLocalMultideclarationValues() throws Exception {
|
||||
String fileName = KotlinTestUtils.navigationMetadata("idea/idea-completion/testData/basic/common/LocalMultideclarationValues.kt");
|
||||
|
||||
Reference in New Issue
Block a user