More proper code to check if lambda is inlined. Parameter of inline function can be annotated with "noInline".

This commit is contained in:
Evgeny Gerashchenko
2015-04-07 19:56:44 +03:00
parent d24d750d34
commit 015da2f8ca
5 changed files with 42 additions and 6 deletions
@@ -88,4 +88,15 @@ fun objectExpression() {
val <info descr="Value captured in a closure">u3</info> = ""
object : Throwable(run { <info descr="Value captured in a closure">u3</info> }) {
}
}
}
inline fun withNoInlineParam(noinline task1: () -> Unit, task2: () -> Unit) {
task1()
task2()
}
fun usage(<info descr="Value captured in a closure">param1</info>: Int, param2: Int) {
withNoInlineParam({ println(<info descr="Value captured in a closure">param1</info>) }, { println(param2) })
}
fun println(<warning>a</warning>: Any) {}