Extract Function: Allow capturing local function references as lambda parameters

This commit is contained in:
Alexey Sedunov
2015-04-13 14:37:18 +03:00
parent 86bb0d5bc5
commit daebf569ab
17 changed files with 212 additions and 9 deletions
@@ -0,0 +1,18 @@
// OPTIONS: true, false, false, false, true
// PARAM_DESCRIPTOR: local final fun baz(m: kotlin.Int): Int defined in foo.bar
// PARAM_DESCRIPTOR: value-parameter val n: kotlin.Int defined in foo
// PARAM_TYPES: (kotlin.Int) -> Int
// PARAM_TYPES: kotlin.Int
// SIBLING:
fun foo(n: Int): Int {
fun bar(): Int {
fun baz(m: Int) = m * n
return i(::baz, n)
}
return bar()
}
private fun i(baz: (Int) -> Int, n: Int) = baz(n + 1)