KT-5041 Smart completion for last argument lambda outside parenthesis

#KT-5041 Fixed
This commit is contained in:
Valentin Kipyatkov
2015-05-07 00:18:38 +03:00
parent 023c5eabf4
commit 58ac497bd7
15 changed files with 204 additions and 13 deletions
@@ -0,0 +1,8 @@
fun foo(p: Int, handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo(1)<caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,9 @@
fun foo(p: String.(Int) -> Unit){}
fun bar(p: String.(Int) -> Unit) {
foo()<caret>
}
// EXIST: "{...}"
// EXIST: "{ Int -> ... }"
// ABSENT: p
@@ -0,0 +1,8 @@
fun foo(handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,8 @@
fun String.foo(handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
"".foo <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,8 @@
fun String.foo(handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
"" foo <caret>
}
// EXIST: "{ String, Char -> ... }"
// EXIST: handler
@@ -0,0 +1,9 @@
fun foo(p: Int, handler: ((String, Char) -> Unit)?){}
fun bar(handler: (String, Char) -> Unit) {
foo(1)<caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: null
// ABSENT: handler
@@ -0,0 +1,8 @@
fun foo(optional: Int = 0, handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo() <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,8 @@
fun foo(optional: Int = 0, handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,7 @@
fun foo(handler: (String, Char) -> Unit, optional: Int = 0){}
fun bar(handler: (String, Char) -> Unit) {
foo() <caret>
}
// NUMBER: 0
@@ -0,0 +1,8 @@
fun foo(vararg args: Int, handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo() <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler
@@ -0,0 +1,8 @@
fun foo(vararg args: Int, handler: (String, Char) -> Unit){}
fun bar(handler: (String, Char) -> Unit) {
foo(1, 2) <caret>
}
// EXIST: "{ String, Char -> ... }"
// ABSENT: handler