diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java index 3fe020cab01..e9d3a28366a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/ExpressionVisitor.java @@ -57,8 +57,12 @@ import static org.jetbrains.k2js.translate.utils.mutator.LastExpressionMutator.m public final class ExpressionVisitor extends TranslatorVisitor { @Override @NotNull - public JsNode visitConstantExpression(@NotNull JetConstantExpression expression, - @NotNull TranslationContext context) { + public JsNode visitConstantExpression(@NotNull JetConstantExpression expression, @NotNull TranslationContext context) { + return translateConstantExpression(expression, context).source(expression); + } + + @NotNull + private static JsNode translateConstantExpression(@NotNull JetConstantExpression expression, @NotNull TranslationContext context) { CompileTimeConstant compileTimeValue = context.bindingContext().get(BindingContext.COMPILE_TIME_VALUE, expression); // TODO: workaround for default parameters translation. Will be fixed later. @@ -96,6 +100,7 @@ public final class ExpressionVisitor extends TranslatorVisitor { if (value instanceof Character) { return context.program().getStringLiteral(value.toString()); } + throw new AssertionError(message(expression, "Unsupported constant expression")); }