Completion of lambda parameters

Also changed policy for sorting of smart completion items in basic completion

 #KT-16800 Fixed
 #KT-12002 Fixed
This commit is contained in:
Valentin Kipyatkov
2017-03-16 20:36:08 +03:00
parent c6b9aebfcf
commit b5dd2cc540
66 changed files with 558 additions and 256 deletions
@@ -0,0 +1,11 @@
fun foo(p: (String, Int) -> Unit){}
fun foo(p: (Char, xx: Any) -> Unit){}
fun bar() {
foo { <caret> }
}
// EXIST: "String, Int ->"
// EXIST: "Char, xx ->"
// ABSENT: "s, i ->"
// ABSENT: "c, xx ->"
@@ -0,0 +1,7 @@
fun foo(p: Int) {
"abc".fold(1) { <caret> }
}
// EXIST: p
// EXIST: "acc: Int, c: Char ->"
// EXIST: "acc, c ->"
@@ -0,0 +1,5 @@
fun foo(p: Int) {
"abc".fold(1) { acc, <caret> }
}
// NOTHING_ELSE
@@ -0,0 +1,7 @@
fun foo(p: Int) {
"abc".fold(1) { acc, c -> <caret> }
}
// EXIST: p
// ABSENT: "acc: Int, c: Char ->"
// ABSENT: "acc, c ->"
@@ -0,0 +1,7 @@
fun foo(p: Boolean) {
"abc".filter { <caret> }
}
// EXIST: p
// EXIST: "c ->"
// EXIST: "c: Char ->"