From 47ed6789d21efbc8cb0de9a8f382c4d131c56adf Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Mon, 6 Jul 2020 00:03:46 +0300 Subject: [PATCH] Fix interpreting of java static members such as Boolean.TRUE --- .../src/org/jetbrains/kotlin/ir/interpreter/state/Wrapper.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Wrapper.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Wrapper.kt index 4baf6203cb4..e3b47b499c8 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Wrapper.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/state/Wrapper.kt @@ -79,7 +79,7 @@ internal class Wrapper(val value: Any, override val irClass: IrClass) : Complex( fun getStaticGetter(field: IrField): MethodHandle? { val jvmClass = field.parentAsClass.defaultType.getClass(true) - val returnType = field.type.getClass(false) + val returnType = field.type.let { it.getClass((it as IrSimpleType).hasQuestionMark) } return MethodHandles.lookup().findStaticGetter(jvmClass, field.name.asString(), returnType) }