Files
kotlin-fork/compiler/testData/codegen/box/localClasses/innerOfLocalCaptureExtensionReceiver.kt
T
pyos 82ccf81da8 Fix this remapping in inner class constructors
Inner class constructors should use the argument instead of reading
outer `this` from a field because if such an access happens before a
delegating constructor call, e.g. when evaluating an argument, a JVM
bytecode validation error will be thrown. (The only operation on `this`
allowed before a delegating constructor call is SETFIELD, and only if
the field in question is declared in the same class.)
2019-03-19 09:20:41 +01:00

16 lines
261 B
Kotlin
Vendored

fun String.bar(): String {
open class Local {
fun result() = this@bar
}
class Outer {
inner class Inner : Local() {
fun outer() = this@Outer
}
}
return Outer().Inner().result()
}
fun box() = "OK".bar()