Fix and refactor ExpressionCodegen#pushClosureOnStack
- change Closure parameter to ClassDescriptor, load closure in the beginning - invert and rename boolean parameter, also use it only to prevent pushing dispatch receiver (not the extension receiver) onto the stack because the only non-trivial usage of it is preceded by manual handling of the dispatch (not extension) receiver. This fixes innerOfLocalCaptureExtensionReceiver.kt
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
class Outer {
|
||||
fun String.id(): String {
|
||||
class Local(unused: Long) {
|
||||
fun result() = this@id
|
||||
fun outer() = this@Outer
|
||||
}
|
||||
|
||||
return Local(42L).result()
|
||||
}
|
||||
|
||||
fun result(): String = "OK".id()
|
||||
}
|
||||
|
||||
fun box() = Outer().result()
|
||||
Reference in New Issue
Block a user