Files
kotlin-fork/js/js.translator/testData/box/delegateProperty/capturedLocalVarNoInline.kt
T
2018-04-19 13:17:28 +03:00

24 lines
540 B
Kotlin
Vendored

// IGNORE_BACKEND: JS_IR
// EXPECTED_REACHABLE_NODES: 1118
//TODO: reuse same tests from JVM backend
package foo
import kotlin.reflect.KProperty
fun <T> myRun(f: () -> T) = f()
class Delegate {
var inner = 1
operator fun getValue(t: Any?, p: KProperty<*>): Int = inner
operator fun setValue(t: Any?, p: KProperty<*>, i: Int) {
inner = i
}
}
fun box(): String {
var prop: Int by Delegate()
myRun { prop = 2 }
if (prop != 2) return "fail get"
return myRun { if (prop != 2) "fail set" else "OK" }
}