From 3aeb565a60c2020188559ecdcfbc29fad225371b Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Mon, 7 Oct 2013 20:09:56 +0400 Subject: [PATCH] JS backend: added support for constant expressions in the sourcemap. --- .../k2js/translate/expression/ExpressionVisitor.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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")); }