[JS IR] Correct pureness of expressions for arrayLiteral

This commit is contained in:
Ilya Goncharov
2021-03-09 15:23:08 +03:00
parent f890156dde
commit 47d050c420
3 changed files with 30 additions and 27 deletions
@@ -60,7 +60,8 @@ class JsIrBackendContext(
override var inVerbosePhase: Boolean = false
override fun isSideEffectFree(call: IrCall): Boolean =
call.symbol in intrinsics.primitiveToLiteralConstructor.values
call.symbol in intrinsics.primitiveToLiteralConstructor.values ||
call.symbol == intrinsics.arrayLiteral
val devMode = configuration[JSConfigurationKeys.DEVELOPER_MODE] ?: false
val errorPolicy = configuration[JSConfigurationKeys.ERROR_TOLERANCE_POLICY] ?: ErrorTolerancePolicy.DEFAULT