Smart completion for generic class instantiation to not insert explicit type arguments (for they'll probably be inferred from the expected type)

This commit is contained in:
Valentin Kipyatkov
2015-09-03 19:35:19 +03:00
parent f470fec840
commit 40de063ebd
12 changed files with 20 additions and 23 deletions
@@ -5,11 +5,11 @@ fun foo(): KotlinTrait<I1, I2> {
}
// EXIST: { lookupString: "object", itemText: "object: KotlinTrait<I1, I2>{...}" }
// EXIST: { lookupString: "KotlinInheritor1", itemText: "KotlinInheritor1<I1>", tailText: "() (p)" }
// EXIST: { lookupString: "KotlinInheritor1", itemText: "KotlinInheritor1", tailText: "() (p)" }
// EXIST: { lookupString: "KotlinInheritor2", itemText: "KotlinInheritor2", tailText: "() (p)" }
// ABSENT: KotlinInheritor3
// EXIST: { lookupString: "object", itemText: "object: KotlinInheritor4<I1, I2>(){...}" }
// ABSENT: KotlinInheritor5
// EXIST: { lookupString: "KotlinInheritor6", itemText: "KotlinInheritor6<I1, Any?, I3>", tailText: "() (p)" }
// EXIST: { lookupString: "KotlinInheritor6", itemText: "KotlinInheritor6", tailText: "() (p)" }
// EXIST: { lookupString: "JavaInheritor1", itemText: "JavaInheritor1", tailText: "() (<root>)" }
// ABSENT: JavaInheritor2
@@ -5,4 +5,4 @@ fun foo(): KotlinTrait<I1, I1> {
}
// EXIST: { lookupString: "object", itemText: "object: KotlinTrait<I1, I1>{...}" }
// EXIST: { lookupString: "KotlinInheritor", itemText: "KotlinInheritor<I1>", tailText: "() (p)" }
// EXIST: { lookupString: "KotlinInheritor", itemText: "KotlinInheritor", tailText: "() (p)" }
@@ -5,4 +5,4 @@ fun foo(): KotlinTrait<I1<I2>> {
}
// EXIST: { lookupString: "object", itemText: "object: KotlinTrait<I1<I2>>{...}" }
// EXIST: { lookupString: "KotlinInheritor", itemText: "KotlinInheritor<I2>", tailText: "() (p)" }
// EXIST: { lookupString: "KotlinInheritor", itemText: "KotlinInheritor", tailText: "() (p)" }
@@ -6,7 +6,6 @@ fun bar() {
// EXIST: { lookupString: "object", itemText: "object: T2<X>{...}" }
// EXIST: { lookupString: "object", itemText: "object: T3<Y>{...}" }
// EXIST: { lookupString: "C1", itemText: "C1" }
// EXIST: { lookupString: "C2", itemText: "C2<X>" }
// EXIST: { lookupString: "C2", itemText: "C2<Y>" }
// EXIST: { lookupString: "C2", itemText: "C2" }
// EXIST: { lookupString: "C3", itemText: "C3" }
// NOTHING_ELSE