diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrInterpreterConfiguration.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrInterpreterConfiguration.kt index 187aef56f51..5ca85d32985 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrInterpreterConfiguration.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/IrInterpreterConfiguration.kt @@ -14,7 +14,6 @@ import org.jetbrains.kotlin.platform.TargetPlatform * @param createNonCompileTimeObjects * 'true' - interpreter will construct object and initialize its properties despite the fact it is not marked as compile time; * 'false' - interpreter will create a representation of empty object, that can be used to get const properties - * @param inlineConstVal tell the interpreter that value of const property can be inlined instead of getter call */ // TODO maybe create some sort of builder data class IrInterpreterConfiguration( @@ -24,5 +23,4 @@ data class IrInterpreterConfiguration( val createNonCompileTimeObjects: Boolean = false, val printOnlyExceptionMessage: Boolean = false, val collapseStackTraceFromJDK: Boolean = true, - val inlineConstVal: Boolean = true, ) diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterChecker.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterChecker.kt index e327703d550..8b743979ba4 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterChecker.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterChecker.kt @@ -7,7 +7,6 @@ package org.jetbrains.kotlin.ir.interpreter.checker import org.jetbrains.kotlin.ir.IrBuiltIns import org.jetbrains.kotlin.ir.declarations.IrFile -import org.jetbrains.kotlin.ir.interpreter.IrInterpreterConfiguration import org.jetbrains.kotlin.ir.visitors.IrElementVisitor interface IrInterpreterChecker : IrElementVisitor @@ -16,5 +15,4 @@ class IrInterpreterCheckerData( val irFile: IrFile, val mode: EvaluationMode, val irBuiltIns: IrBuiltIns, - val interpreterConfiguration: IrInterpreterConfiguration, -) \ No newline at end of file +) diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterCommonChecker.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterCommonChecker.kt index 23b8b7bef21..c22e1d70164 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterCommonChecker.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/checker/IrInterpreterCommonChecker.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.ir.types.classifierOrNull import org.jetbrains.kotlin.ir.types.isAny import org.jetbrains.kotlin.ir.types.isPrimitiveType import org.jetbrains.kotlin.ir.types.isStringClassType -import org.jetbrains.kotlin.ir.util.fileOrNull import org.jetbrains.kotlin.ir.util.parentAsClass import org.jetbrains.kotlin.ir.util.statements @@ -65,7 +64,6 @@ class IrInterpreterCommonChecker : IrInterpreterChecker { override fun visitCall(expression: IrCall, data: IrInterpreterCheckerData): Boolean { val owner = expression.symbol.owner return when { - !data.interpreterConfiguration.inlineConstVal && expression.isGetterToConstVal() && data.irFile != owner.fileOrNull -> false expression.dispatchReceiver.isAccessToNotNullableObject() && expression.isGetterToConstVal() -> visitBodyIfNeeded(owner, data) !data.mode.canEvaluateExpression(expression) || !data.mode.canEvaluateFunction(owner) -> false expression.isKCallableNameCall(data.irBuiltIns) || expression.isEnumName() -> true @@ -330,4 +328,4 @@ class IrInterpreterCommonChecker : IrInterpreterChecker { override fun visitClassReference(expression: IrClassReference, data: IrInterpreterCheckerData): Boolean { return data.mode.canEvaluateClassReference(expression) } -} \ No newline at end of file +} diff --git a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/transformer/IrConstTransformer.kt b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/transformer/IrConstTransformer.kt index dbb72293359..e57804ec7a3 100644 --- a/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/transformer/IrConstTransformer.kt +++ b/compiler/ir/ir.interpreter/src/org/jetbrains/kotlin/ir/interpreter/transformer/IrConstTransformer.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl import org.jetbrains.kotlin.ir.interpreter.IrInterpreter -import org.jetbrains.kotlin.ir.interpreter.IrInterpreterConfiguration import org.jetbrains.kotlin.ir.interpreter.checker.EvaluationMode import org.jetbrains.kotlin.ir.interpreter.checker.IrInterpreterChecker import org.jetbrains.kotlin.ir.interpreter.checker.IrInterpreterCheckerData @@ -121,11 +120,9 @@ internal abstract class IrConstTransformer( return this } - protected fun IrExpression.canBeInterpreted( - configuration: IrInterpreterConfiguration = interpreter.environment.configuration - ): Boolean { + protected fun IrExpression.canBeInterpreted(): Boolean { return try { - this.accept(checker, IrInterpreterCheckerData(irFile, mode, interpreter.irBuiltIns, configuration)) + this.accept(checker, IrInterpreterCheckerData(irFile, mode, interpreter.irBuiltIns)) } catch (e: Throwable) { if (suppressExceptions) { return false