Smart completion: argument with "*" is not necessary the only one for vararg parameter
This commit is contained in:
@@ -218,9 +218,7 @@ class ExpectedInfos(
|
||||
expectedInfos.add(ArgumentExpectedInfo(varargElementType, expectedName?.unpluralize(), varargTail, descriptor, argumentPosition))
|
||||
}
|
||||
|
||||
if (argumentIndex == parameters.indexOf(parameter)) {
|
||||
expectedInfos.add(ArgumentExpectedInfo(parameter.getType(), expectedName, varargTail, descriptor, argumentPosition, starOptions))
|
||||
}
|
||||
expectedInfos.add(ArgumentExpectedInfo(parameter.getType(), expectedName, varargTail, descriptor, argumentPosition, starOptions))
|
||||
}
|
||||
else {
|
||||
if (!alreadyHasStar) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
fun foo(vararg v: Int, s: String) { }
|
||||
|
||||
fun bar(s: String) {
|
||||
fun bar(i: Int) {
|
||||
foo(*intArrayOf(), <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
// ELEMENT: i
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
fun foo(vararg v: Int, s: String) { }
|
||||
|
||||
fun bar(s: String) {
|
||||
foo(*intArrayOf(), s)<caret>
|
||||
fun bar(i: Int) {
|
||||
foo(*intArrayOf(), i, <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: s
|
||||
// ELEMENT: i
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
fun foo(vararg v1: Int, vararg v2: Char, s: String) { }
|
||||
|
||||
fun bar(c: Char) {
|
||||
fun bar(i: Int) {
|
||||
foo(*intArrayOf(), <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: c
|
||||
// ELEMENT: i
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
fun foo(vararg v1: Int, vararg v2: Char, s: String) { }
|
||||
|
||||
fun bar(c: Char) {
|
||||
foo(*intArrayOf(), c, <caret>)
|
||||
fun bar(i: Int) {
|
||||
foo(*intArrayOf(), i, <caret>)
|
||||
}
|
||||
|
||||
// ELEMENT: c
|
||||
// ELEMENT: i
|
||||
|
||||
+2
-2
@@ -5,5 +5,5 @@ fun bar(s: String, arr: Array<String>){
|
||||
}
|
||||
|
||||
// EXIST: s
|
||||
// ABSENT: arr
|
||||
// ABSENT: *arr
|
||||
// ABSENT: { itemText: "arr" }
|
||||
// EXIST: { lookupString: "arr", itemText: "*arr" }
|
||||
|
||||
@@ -4,6 +4,7 @@ fun bar(c: Char, pInt: Int) {
|
||||
foo(*intArrayOf(), <caret>)
|
||||
}
|
||||
|
||||
// EXIST: c
|
||||
// ABSENT: pInt
|
||||
// EXIST: { lookupString: "charArrayOf", itemText: "*charArrayOf" }
|
||||
// ABSENT: c
|
||||
// ABSENT: { lookupString: "charArrayOf", itemText: "*charArrayOf" }
|
||||
// EXIST: pInt
|
||||
// EXIST: { lookupString: "intArrayOf", itemText: "*intArrayOf" }
|
||||
|
||||
@@ -54,7 +54,7 @@ public fun Call.mapArgumentsToParameters(targetDescriptor: CallableDescriptor):
|
||||
val parameter = parameters[positionalArgumentIndex]
|
||||
map[argument] = parameter
|
||||
|
||||
if (parameter.getVarargElementType() == null || argument.getSpreadElement() != null) {
|
||||
if (parameter.getVarargElementType() == null) {
|
||||
positionalArgumentIndex++
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user