Navigate to lambda declaration from generated 'it' (KT-16992)

#KT-16992 Fixed
 #KT-13013 In Progress
This commit is contained in:
Nikolay Krasko
2017-03-20 17:26:19 +03:00
parent c976c3d909
commit 9dfc92c55e
9 changed files with 203 additions and 7 deletions
@@ -0,0 +1,23 @@
// FILE: before.kt
interface Foo
interface Bar
fun foo(a: Foo.(Bar) -> Unit) {}
fun bar() {
foo {
<caret>it
}
}
// FILE: after.kt
interface Foo
interface Bar
fun foo(a: Foo.(Bar) -> Unit) {}
fun bar() {
foo {<caret>
it
}
}
@@ -0,0 +1,23 @@
// FILE: before.kt
interface Foo
interface Bar
fun foo(b: Int, a: Foo.(Bar) -> Unit) {}
fun bar() {
foo(12, {
<caret>it
})
}
// FILE: after.kt
interface Foo
interface Bar
fun foo(b: Int, a: Foo.(Bar) -> Unit) {}
fun bar() {
foo(12, {<caret>
it
})
}
@@ -0,0 +1,5 @@
// FILE: before.kt
fun test(a: (Int) -> Unit = { <caret>it }) {}
// FILE: after.kt
fun test(a: (Int) -> Unit = {<caret> it }) {}
@@ -0,0 +1,5 @@
// FILE: before.kt
val a: (Int) -> Unit = { <caret>it }
// FILE: after.kt
val a: (Int) -> Unit = {<caret> it }
@@ -0,0 +1,23 @@
// FILE: before.kt
class Foo
fun <T> some(a: T, f: (T) -> Unit) {}
fun foo(a: Any) {}
fun baz() {
some(Foo()) {
foo(it<caret>)
}
}
// FILE: after.kt
class Foo
fun <T> some(a: T, f: (T) -> Unit) {}
fun foo(a: Any) {}
fun baz() {
some(Foo()) {<caret>
foo(it)
}
}