Files
kotlin/compiler/testData/codegen/outerClassInfo/inlineObject.kt
2014-05-26 14:48:34 +04:00

48 lines
778 B
Kotlin

package foo;
class Foo {
inline fun inlineFoo(s: () -> Unit) {
val localObject = object {
fun run() {
s()
}
}
localObject.run()
}
inline fun simpleFoo(s: () -> Unit) {
s()
}
}
class Bar {
fun callToInline() {
Foo().inlineFoo { 1 }
}
fun objectInInlineLambda() {
val s = 1;
Foo().simpleFoo {
val localObject = object {
fun run() { s }
}
localObject.run()
}
}
fun objectInLambdaInlinedIntoObject() {
val s = 1;
Foo().inlineFoo {
val localObject = object {
fun run() { s }
}
localObject.run()
}
}
}