Support singleton access
This commit is contained in:
committed by
Dmitry Petrov
parent
58ba5ed37b
commit
bdecffa1e1
+6
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.backend.jvm.intrinsics.IrIntrinsicMethods
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.codegen.*
|
||||
import org.jetbrains.kotlin.codegen.AsmUtil.*
|
||||
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
||||
import org.jetbrains.kotlin.codegen.StackValue.*
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
@@ -242,6 +243,11 @@ class ExpressionCodegen(
|
||||
return onStack(type)
|
||||
}
|
||||
|
||||
override fun visitGetObjectValue(expression: IrGetObjectValue, data: BlockInfo): StackValue {
|
||||
StackValue.singleton(expression.descriptor, typeMapper).put(expression.asmType, mv)
|
||||
return expression.onStack
|
||||
}
|
||||
|
||||
override fun visitSetVariable(expression: IrSetVariable, data: BlockInfo): StackValue {
|
||||
val value = expression.value.accept(this, data)
|
||||
StackValue.local(frame.getIndex(expression.descriptor), expression.descriptor.asmType).store(value, mv)
|
||||
|
||||
Reference in New Issue
Block a user