KT-4909 Smart completion does not work for named arguments

KT-7668 Named argument completion does not work after vararg

 #KT-4909 Fixed
 #KT-7668 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-05-07 19:48:52 +03:00
parent 58ac497bd7
commit 67cfd9d516
45 changed files with 474 additions and 215 deletions
@@ -0,0 +1,7 @@
fun foo(vararg strings: String, option: String = ""){ }
fun bar(s: String){
foo("", "", <caret>)
}
// EXIST: { lookupString:"option", itemText:"option =" }
@@ -0,0 +1,7 @@
fun foo(vararg v: Int, s: String) { }
fun bar(s: String) {
foo(*intArrayOf(), <caret>)
}
// ELEMENT: s
@@ -0,0 +1,7 @@
fun foo(vararg v: Int, s: String) { }
fun bar(s: String) {
foo(*intArrayOf(), s)<caret>
}
// ELEMENT: s
@@ -0,0 +1,7 @@
fun foo(param1: String, param2: Int) { }
fun bar(pInt: Int) {
foo(param2 = <caret>)
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String, param2: Int) { }
fun bar(pInt: Int) {
foo(param2 = pInt, <caret>)
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String = "", param2: Int, param3: Int = 0) { }
fun bar(pInt: Int) {
foo(param2 = <caret>)
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String = "", param2: Int, param3: Int = 0) { }
fun bar(pInt: Int) {
foo(param2 = pInt<caret>)
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String, param2: Int, param3: Int) { }
fun bar(pInt: Int) {
foo("", param2 = 1, param3 = <caret>)
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String, param2: Int, param3: Int) { }
fun bar(pInt: Int) {
foo("", param2 = 1, param3 = pInt)<caret>
}
// ELEMENT: pInt
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(arr: IntArray) {
foo("", param2 = <caret>)
}
// ELEMENT: arr
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(arr: IntArray) {
foo("", param2 = *arr)<caret>
}
// ELEMENT: arr
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(p: Int) {
foo("", param2 = <caret>)
}
// ELEMENT: p
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(p: Int) {
foo("", param2 = p)<caret>
}
// ELEMENT: p
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(arr: IntArray) {
foo(param2 = <caret>)
}
// ELEMENT: arr
@@ -0,0 +1,7 @@
fun foo(param1: String, vararg param2: Int) { }
fun bar(arr: IntArray) {
foo(param2 = *arr, <caret>)
}
// ELEMENT: arr
@@ -0,0 +1,7 @@
fun foo(vararg v1: Int, vararg v2: Char, s: String) { }
fun bar(c: Char) {
foo(*intArrayOf(), <caret>)
}
// ELEMENT: c
@@ -0,0 +1,7 @@
fun foo(vararg v1: Int, vararg v2: Char, s: String) { }
fun bar(c: Char) {
foo(*intArrayOf(), c<caret>)
}
// ELEMENT: c
@@ -0,0 +1,8 @@
fun foo(param1: String, param2: Int) { }
fun bar(pInt: Int, pString: String) {
foo(param2 = <caret>)
}
// EXIST: pInt
// ABSENT: pString
@@ -0,0 +1,9 @@
fun foo(vararg v1: Int, vararg v2: Char, s: String) { }
fun bar(c: Char, pInt: Int) {
foo(*intArrayOf(), <caret>)
}
// EXIST: c
// ABSENT: pInt
// EXIST: { lookupString: "charArrayOf", itemText: "*charArrayOf" }