[JS IR BE] Improve error reporting

This commit is contained in:
Roman Artemev
2019-05-30 15:13:14 +03:00
committed by romanart
parent beb1ce55f8
commit c2d118cb75
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.ir.expressions.IrCall
import org.jetbrains.kotlin.ir.expressions.IrConst
import org.jetbrains.kotlin.ir.expressions.IrExpression
import org.jetbrains.kotlin.ir.expressions.IrStringConcatenation
import org.jetbrains.kotlin.ir.util.render
import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid
import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid
import org.jetbrains.kotlin.ir.visitors.acceptVoid
@@ -24,7 +25,7 @@ fun translateJsCode(call: IrCall, scope: JsScope): JsNode {
fun foldString(expression: IrExpression): String {
val builder = StringBuilder()
expression.acceptVoid(object : IrElementVisitorVoid {
override fun visitElement(element: IrElement) = error("Parameter of js function must be compile time String constant")
override fun visitElement(element: IrElement) = error("Parameter of js function must be compile time String constant, not ${element.render()}")
override fun <T> visitConst(expression: IrConst<T>) {
builder.append(expression.kind.valueOf(expression))