mirror of
https://github.com/jlengrand/kotlin.git
synced 2026-05-08 08:31:26 +00:00
50 lines
791 B
Kotlin
Vendored
50 lines
791 B
Kotlin
Vendored
package foo
|
|
|
|
|
|
class Foo {
|
|
|
|
inline fun inlineFoo(crossinline 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()
|
|
}
|
|
}
|
|
|
|
}
|