Parameter info to use resolve candidates instead of ReferenceVariantsHelper

#KT-6164 Fixed
 #KT-8931 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-10-05 17:23:09 +03:00
parent 80bb1e7430
commit f27d24e640
16 changed files with 286 additions and 118 deletions
@@ -0,0 +1,8 @@
fun x(name: String, next: (name: String) -> String): String {
return next(<caret>)
}
//TODO: use parameter names from functional type
/*
Text: (<highlight>p1: String</highlight>), Disabled: false, Strikeout: false, Green: false
*/
@@ -0,0 +1,12 @@
val header = { s: String, s1: String -> }
fun header(name: String, value: Int) { }
fun call() {
header(<caret>"sdf", "sdjfn")
}
//TODO: use parameter names from functional type
/*
Text: (<highlight>name: String</highlight>, value: Int), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>p1: String</highlight>, p2: String), Disabled: false, Strikeout: false, Green: false
*/
@@ -0,0 +1,15 @@
package test
class A {
fun invoke(i: Int) {
}
}
fun main(args: Array<String>) {
val a = A()
a(<caret>)
}
/*
Text: (<highlight>i: Int</highlight>), Disabled: false, Strikeout: false, Green: false
*/
@@ -1,10 +1,10 @@
open class A(x: Int) {
fun println(x: String) {}
fun println() {}
fun println(x: Boolean) {}
fun xprintln(x: String) {}
fun xprintln() {}
fun xprintln(x: Boolean) {}
fun d(x: Int) {
println(<caret>)
xprintln(<caret>)
}
}
/*
@@ -0,0 +1,11 @@
fun test() {
foo(mapOf(<caret>))
}
fun foo(map: Map<Int, String>) {}
/*
Text: (<highlight>keyValuePair: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>vararg values: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<no parameters>), Disabled: true, Strikeout: false, Green: true
*/
@@ -0,0 +1,9 @@
fun test() {
mapOf<Int, String>(<caret>)
}
/*
Text: (<highlight>keyValuePair: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>vararg values: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<no parameters>), Disabled: true, Strikeout: false, Green: true
*/
@@ -0,0 +1,9 @@
fun test() {
mapOf(<caret>1 to "")
}
/*
Text: (<highlight>keyValuePair: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: true
Text: (<highlight>vararg values: Pair<Int, String></highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<no parameters>), Disabled: true, Strikeout: false, Green: false
*/
@@ -0,0 +1,9 @@
fun <T1, T2> f(p: Int, t1: T1, t2: T2){}
fun test() {
f(<caret>1, "", 1)
}
/*
Text: (<highlight>p: Int</highlight>, t1: String, t2: Int), Disabled: false, Strikeout: false, Green: true
*/
@@ -0,0 +1,9 @@
fun <T1, T2> f(p: Int, t1: T1, t2: T2){}
fun test() {
f(1, "", <caret>)
}
/*
Text: (p: Int, t1: String, <highlight>t2: T2</highlight>), Disabled: false, Strikeout: false, Green: true
*/
@@ -0,0 +1,15 @@
fun <T1, T2> f(p: Int, t: T1, pair: Pair<T1, T2>){}
fun test() {
f(1, "", <caret>)
}
//TODO:
/*
Text: (p: Int, t: String, <highlight>pair: Pair<String, T2></highlight>), Disabled: false, Strikeout: false, Green: true
*/
//currently:
/*
Text: (p: Int, t: String, <highlight>pair: Pair<T1, T2></highlight>), Disabled: false, Strikeout: false, Green: true
*/