diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsExpressionTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsExpressionTransformer.kt index 66141eace4f..f1aa5315aaf 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsExpressionTransformer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsExpressionTransformer.kt @@ -6,6 +6,7 @@ package org.jetbrains.kotlin.ir.backend.js.transformers.irToJs import org.jetbrains.kotlin.ir.backend.js.utils.isPrimary +import org.jetbrains.kotlin.ir.backend.js.utils.name import org.jetbrains.kotlin.ir.backend.js.utils.parameterCount import org.jetbrains.kotlin.ir.declarations.IrClass import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction @@ -34,6 +35,27 @@ class IrElementToJsExpressionTransformer : BaseIrElementToJsNodeTransformer(JsStringLiteral("")) { jsExpr, irExpr -> + JsBinaryOperation( + JsBinaryOperator.ADD, + jsExpr, + irExpr.accept(this, data) + ) + } + } + + override fun visitGetValue(expression: IrGetValue, data: Nothing?): JsExpression { + return JsNameRef(expression.symbol.name.toJsName()) + } + + override fun visitSetVariable(expression: IrSetVariable, data: Nothing?): JsExpression { + val ref = JsNameRef(expression.symbol.name.toJsName()) + val value = expression.value.accept(this, data) + return JsBinaryOperation(JsBinaryOperator.ASG, ref, value) + } + override fun visitCall(expression: IrCall, data: Nothing?): JsExpression { // TODO rewrite more accurately, right now it just copy-pasted and adopted from old version // TODO support: diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsStatementTransformer.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsStatementTransformer.kt index acf778d48d0..4b2f354e42b 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsStatementTransformer.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/transformers/irToJs/IrElementToJsStatementTransformer.kt @@ -14,6 +14,15 @@ class IrElementToJsStatementTransformer : BaseIrElementToJsNodeTransformer