KT-4908 Smart completion does not work for arguments of function with vararg
#KT-4908 Fixed
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
fun List<S<caret>>foo() {}
|
||||
|
||||
// ELEMENT: String
|
||||
// TAIL_TEXT: "(kotlin)"
|
||||
// TAIL_TEXT: " (kotlin)"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
fun List<String<caret>>foo() {}
|
||||
|
||||
// ELEMENT: String
|
||||
// TAIL_TEXT: "(kotlin)"
|
||||
// TAIL_TEXT: " (kotlin)"
|
||||
|
||||
@@ -5,4 +5,4 @@ class Pair<T1, T2>
|
||||
private val v = ArrayList<Pair<Str<caret>>>
|
||||
|
||||
// ELEMENT: String
|
||||
// TAIL_TEXT: "(kotlin)"
|
||||
// TAIL_TEXT: " (kotlin)"
|
||||
|
||||
@@ -5,4 +5,4 @@ class Pair<T1, T2>
|
||||
private val v = ArrayList<Pair<String<caret>>>
|
||||
|
||||
// ELEMENT: String
|
||||
// TAIL_TEXT: "(kotlin)"
|
||||
// TAIL_TEXT: " (kotlin)"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)
|
||||
|
||||
fun foo() {
|
||||
val pair = 1 <caret>
|
||||
}
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)
|
||||
|
||||
fun foo() {
|
||||
val pair = 1 to <caret>
|
||||
}
|
||||
|
||||
@@ -6,3 +6,5 @@ fun foo(p: HashMap<String, List<Int>>){}
|
||||
fun f(){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -6,3 +6,5 @@ fun foo(p: HashMap<String, List<Int>>){}
|
||||
fun f(){
|
||||
foo(HashMap<String, List<Int>>())
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -5,3 +5,5 @@ class X<T> {
|
||||
foo(<caret>)
|
||||
}
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -8,3 +8,5 @@ class X<T> {
|
||||
foo(HashMap<File, T>(<caret>))
|
||||
}
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -5,3 +5,5 @@ class X<T> {
|
||||
foo(<caret>)
|
||||
}
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -9,3 +9,5 @@ class X<T> {
|
||||
foo(HashMap<T, AbstractMap<T, File>>(<caret>))
|
||||
}
|
||||
}
|
||||
|
||||
// ELEMENT: HashMap
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(s: String, optional: String = ""){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(s: String, optional: String = ""){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo(s<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -2,5 +2,5 @@ fun foo(){
|
||||
val l : java.util.Calendar = <caret>
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: Calendar.getInstance
|
||||
// TAIL_TEXT: (TimeZone!)
|
||||
// ELEMENT_TEXT: "Calendar.getInstance"
|
||||
// TAIL_TEXT: "(TimeZone!) (java.util)"
|
||||
|
||||
@@ -4,5 +4,5 @@ fun foo(){
|
||||
val l : java.util.Calendar = Calendar.getInstance(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: Calendar.getInstance
|
||||
// TAIL_TEXT: (TimeZone!)
|
||||
// ELEMENT_TEXT: "Calendar.getInstance"
|
||||
// TAIL_TEXT: "(TimeZone!) (java.util)"
|
||||
|
||||
@@ -7,4 +7,4 @@ fun bar() {
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "?: getString"
|
||||
// TAIL_TEXT: "(i: Int)"
|
||||
// TAIL_TEXT: "(i: Int) (<root>)"
|
||||
|
||||
@@ -7,4 +7,4 @@ fun bar() {
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "?: getString"
|
||||
// TAIL_TEXT: "(i: Int)"
|
||||
// TAIL_TEXT: "(i: Int) (<root>)"
|
||||
|
||||
@@ -9,4 +9,4 @@ fun foo(){
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! K.bar"
|
||||
// TAIL_TEXT: "()"
|
||||
// TAIL_TEXT: "() (<root>)"
|
||||
|
||||
@@ -9,4 +9,4 @@ fun foo(){
|
||||
}
|
||||
|
||||
// ELEMENT_TEXT: "!! K.bar"
|
||||
// TAIL_TEXT: "()"
|
||||
// TAIL_TEXT: "() (<root>)"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var a : Runnable = <caret>
|
||||
|
||||
// ELEMENT_TEXT: Runnable
|
||||
// TAIL_TEXT: "()"
|
||||
// TAIL_TEXT: "(function: () -> Unit) (java.lang)"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var a : Runnable = Runnable { <caret> }
|
||||
|
||||
// ELEMENT_TEXT: Runnable
|
||||
// TAIL_TEXT: "()"
|
||||
// TAIL_TEXT: "(function: () -> Unit) (java.lang)"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo(s<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo("", <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo("", s<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String, options: Int = 0){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo("", <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String, options: Int = 0){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo("", s<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(arr: Array<String>){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: arr
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(arr: Array<String>){
|
||||
foo(*arr)<caret>
|
||||
}
|
||||
|
||||
// ELEMENT: arr
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(list: List<String>){
|
||||
foo(list.<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: toTypedArray
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(list: List<String>){
|
||||
foo(*list.toTypedArray())<caret>
|
||||
}
|
||||
|
||||
// ELEMENT: toTypedArray
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String, optional: String = ""){ }
|
||||
|
||||
fun bar(arr: Array<String>){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: arr
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String, optional: String = ""){ }
|
||||
|
||||
fun bar(arr: Array<String>){
|
||||
foo(*arr<caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: arr
|
||||
@@ -0,0 +1,8 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String, arr: Array<String>){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: s
|
||||
// EXIST: { lookupString: "arr", itemText: "*arr" }
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(vararg strings: String){ }
|
||||
|
||||
fun bar(s: String, arr: Array<String>){
|
||||
foo("", <caret>)
|
||||
}
|
||||
|
||||
// EXIST: s
|
||||
// ABSENT: arr
|
||||
// ABSENT: *arr
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg strings: String, options: Int = 0){ }
|
||||
|
||||
fun bar(s: String){
|
||||
foo("", <caret>)
|
||||
}
|
||||
|
||||
// EXIST: s
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo(vararg args: Any){ }
|
||||
|
||||
fun bar(s: String, arr: Array<String>){
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// EXIST: s
|
||||
// EXIST: { lookupString: "arr", itemText: "arr" }
|
||||
// EXIST: { lookupString: "arr", itemText: "*arr" }
|
||||
@@ -0,0 +1,7 @@
|
||||
fun foo(vararg xFooBars: String){}
|
||||
|
||||
fun g(a: String, bar: String, fooBar: String, xFooBars: Array<String>) {
|
||||
foo(<caret>)
|
||||
}
|
||||
|
||||
// ORDER: xFooBars, fooBar, bar, a
|
||||
Reference in New Issue
Block a user