Smart completion: generic functions are correctly included into the list
#KT-6375 Fixed
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fun foo(array: Array<String>){}
|
||||
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "array", tailText: "(vararg t: String) (kotlin)", typeText: "Array<String>" }
|
||||
// ABSENT: arrayOfNulls
|
||||
@@ -0,0 +1,8 @@
|
||||
fun foo(array: Array<String?>){}
|
||||
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "array", tailText: "(vararg t: String?) (kotlin)", typeText: "Array<String?>" }
|
||||
// EXIST: { lookupString: "arrayOfNulls", tailText: "(size: Int) (kotlin)", typeText: "Array<String?>" }
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(list: List<String>){}
|
||||
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "listOf", tailText: "() (kotlin)", typeText: "List<String>" }
|
||||
// EXIST: { lookupString: "listOf", tailText: "(vararg values: String) (kotlin)", typeText: "List<String>" }
|
||||
// EXIST: { lookupString: "arrayListOf", tailText: "(vararg values: String!) (kotlin)", typeText: "ArrayList<String!>" }
|
||||
@@ -0,0 +1,6 @@
|
||||
fun foo(list: List<String>): Collection<Int> {
|
||||
return list.<caret>
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "map", tailText: "(transform: (String) -> Int) for Iterable<T> in kotlin", typeText: "List<Int>" }
|
||||
// ABSENT: filter
|
||||
@@ -0,0 +1,13 @@
|
||||
class C<T> {
|
||||
class object {
|
||||
fun<T> create(t: T): C<T>{}
|
||||
}
|
||||
}
|
||||
|
||||
fun foo(c: C<String>){}
|
||||
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "create", itemText: "C.create", tailText: "(t: String) (<root>)", typeText: "C<String>" }
|
||||
@@ -0,0 +1,14 @@
|
||||
fun<T> emptyList(): List<T> = listOf()
|
||||
|
||||
fun foo(list: List<String>){}
|
||||
fun foo(list: List<String>, i: Int){}
|
||||
fun foo(list: List<Int>, b: Boolean){}
|
||||
fun foo(list: List<Int>, c: Char){}
|
||||
|
||||
fun f(){
|
||||
foo(empty<caret>)
|
||||
}
|
||||
|
||||
// EXIST: { lookupString: "emptyList", typeText: "List<String>" }
|
||||
// EXIST: { lookupString: "emptyList", typeText: "List<Int>" }
|
||||
// NUMBER: 2
|
||||
@@ -0,0 +1,16 @@
|
||||
fun nothingFoo() = throw Exception()
|
||||
|
||||
fun<T> genericFoo1(t: T): T = t
|
||||
|
||||
fun<T: Any> genericFoo2(t: T): T? = t
|
||||
|
||||
fun<T: Runnable> genericFoo3(t: T): T = t
|
||||
|
||||
fun foo(): Runnable {
|
||||
return <caret>
|
||||
}
|
||||
|
||||
// ABSENT: nothingFoo
|
||||
// ABSENT: genericFoo1
|
||||
// ABSENT: genericFoo2
|
||||
// EXIST: { itemText: "genericFoo3", tailText: "(t: Runnable) (<root>)", typeText: "Runnable" }
|
||||
Reference in New Issue
Block a user