diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/builtins/IrBuiltInsMapGenerated.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/builtins/IrBuiltInsMapGenerated.kt index c4c3d8d18df..db0857f5a9d 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/builtins/IrBuiltInsMapGenerated.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/builtins/IrBuiltInsMapGenerated.kt @@ -51,6 +51,7 @@ internal fun interpretUnaryFunction(name: String, type: String, a: Any?): Any? { "Double" -> return (a as Double).toString() "String" -> return (a as String).toString() "Any" -> return (a as Any).toString() + "Any?" -> return a?.toString() ?: "null" } "dec" -> when (type) { "Char" -> return (a as Char).dec() diff --git a/generators/interpreter/GenerateInterpreterMap.kt b/generators/interpreter/GenerateInterpreterMap.kt index d5e0c2db6cb..f2594d5cdf0 100644 --- a/generators/interpreter/GenerateInterpreterMap.kt +++ b/generators/interpreter/GenerateInterpreterMap.kt @@ -49,6 +49,7 @@ fun generateMap(): String { generateInterpretUnaryFunction(p, getOperationMap(1).apply { val irNullCheck = irBuiltIns.checkNotNullSymbol.owner this += Operation(irNullCheck.name.asString(), listOf("T0?"), customExpression = "a!!") + this += Operation("toString", listOf("Any?"), customExpression = "a?.toString() ?: \"null\"") }) generateInterpretBinaryFunction(p, getOperationMap(2) + getBinaryIrOperationMap(irBuiltIns))