From 77539fe2db23158a3a7e5c696776778513a598fd Mon Sep 17 00:00:00 2001 From: Ivan Kylchik Date: Wed, 3 Feb 2021 15:03:11 +0300 Subject: [PATCH] Add visitExpressionBody method to IrCompileTimeChecker This method is needed to explicitly indicate that IrExpressionBody can be interpreted in any evaluation mode. --- .../jetbrains/kotlin/ir/interpreter/IrCompileTimeChecker.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrCompileTimeChecker.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrCompileTimeChecker.kt index be488bb57c7..f4099518313 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrCompileTimeChecker.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrCompileTimeChecker.kt @@ -121,6 +121,11 @@ class IrCompileTimeChecker( return visitStatements(body.statements, data) } + // We need this separate method to explicitly indicate that IrExpressionBody can be interpreted in any evaluation mode + override fun visitExpressionBody(body: IrExpressionBody, data: Nothing?): Boolean { + return body.expression.accept(this, data) + } + override fun visitBlock(expression: IrBlock, data: Nothing?): Boolean { return visitStatements(expression.statements, data) }