From 1462e5cb7f428e5bfdc1ab13f3f96d5257dadfbb Mon Sep 17 00:00:00 2001 From: develar Date: Tue, 23 Oct 2012 19:08:47 +0400 Subject: [PATCH] JS backend: cleanup JsFor creation. Added source map for "for, while, break, continue, try". #KT-927 in progress (cherry picked from commit 4533f64) --- js/js.translator/lib/dart-ast.jar | Bin 111578 -> 111682 bytes js/js.translator/lib/src/dart-ast-src.jar | Bin 74165 -> 74201 bytes .../expression/ExpressionVisitor.java | 8 ++++---- .../foreach/ArrayForTranslator.java | 2 +- .../foreach/RangeLiteralForTranslator.java | 8 +++----- .../k2js/translate/utils/JsAstUtils.java | 10 ---------- 6 files changed, 8 insertions(+), 20 deletions(-) diff --git a/js/js.translator/lib/dart-ast.jar b/js/js.translator/lib/dart-ast.jar index b070d459c80bcecea21415049e82c941a2016e52..6438d319773a8207bf2f5acf85c740dff82d2328 100644 GIT binary patch delta 6382 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 delta 6309 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 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 05a1fa11065..c53c6928bf1 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 @@ -377,14 +377,14 @@ public final class ExpressionVisitor extends TranslatorVisitor { @NotNull public JsNode visitBreakExpression(@NotNull JetBreakExpression expression, @NotNull TranslationContext context) { - return new JsBreak(getTargetLabel(expression, context)); + return source(new JsBreak(getTargetLabel(expression, context)), expression); } @Override @NotNull public JsNode visitContinueExpression(@NotNull JetContinueExpression expression, @NotNull TranslationContext context) { - return new JsContinue(getTargetLabel(expression, context)); + return source(new JsContinue(getTargetLabel(expression, context)), expression); } @Override @@ -424,14 +424,14 @@ public final class ExpressionVisitor extends TranslatorVisitor { @NotNull public JsNode visitForExpression(@NotNull JetForExpression expression, @NotNull TranslationContext context) { - return ForTranslator.translate(expression, context); + return source(ForTranslator.translate(expression, context), expression); } @Override @NotNull public JsNode visitTryExpression(@NotNull JetTryExpression expression, @NotNull TranslationContext context) { - return TryTranslator.translate(expression, context); + return source(TryTranslator.translate(expression, context), expression); } @Override diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java index 857fb2557e8..825c86598c7 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/ArrayForTranslator.java @@ -78,7 +78,7 @@ public final class ArrayForTranslator extends ForTranslator { private JsBlock translate() { List blockStatements = Lists.newArrayList(); blockStatements.add(temporariesInitialization(loopRange, end).makeStmt()); - blockStatements.add(generateForExpression(getInitExpression(), getCondition(), getIncrementExpression(), getBody())); + blockStatements.add(new JsFor(getInitExpression(), getCondition(), getIncrementExpression(), getBody())); return new JsBlock(blockStatements); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/RangeLiteralForTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/RangeLiteralForTranslator.java index a9388031658..2706d5f416f 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/RangeLiteralForTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/expression/foreach/RangeLiteralForTranslator.java @@ -28,7 +28,8 @@ import org.jetbrains.k2js.translate.context.TranslationContext; import java.util.List; -import static org.jetbrains.k2js.translate.utils.JsAstUtils.*; +import static org.jetbrains.k2js.translate.utils.JsAstUtils.inequality; +import static org.jetbrains.k2js.translate.utils.JsAstUtils.newVar; import static org.jetbrains.k2js.translate.utils.PsiUtils.getLoopRange; import static org.jetbrains.k2js.translate.utils.TemporariesUtils.temporariesInitialization; import static org.jetbrains.k2js.translate.utils.TranslationUtils.translateLeftExpression; @@ -79,10 +80,7 @@ public final class RangeLiteralForTranslator extends ForTranslator { private JsBlock translate() { List blockStatements = Lists.newArrayList(); blockStatements.add(temporariesInitialization(rangeEnd).makeStmt()); - blockStatements.add(generateForExpression(initExpression(), - getCondition(), - getIncrExpression(), - translateBody(null))); + blockStatements.add(new JsFor(initExpression(), getCondition(), getIncrExpression(), translateBody(null))); return new JsBlock(blockStatements); } diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java index 45a9d25419c..9de6cd53db7 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java @@ -150,16 +150,6 @@ public final class JsAstUtils { return equality(new JsPrefixOperation(JsUnaryOperator.TYPEOF, expression), string); } - @NotNull - public static JsFor generateForExpression(@NotNull JsVars initExpression, - @NotNull JsExpression condition, - @NotNull JsExpression incrementExpression, - @NotNull JsStatement body) { - JsFor result = new JsFor(initExpression, condition, incrementExpression); - result.setBody(body); - return result; - } - @NotNull public static JsVars newVar(@NotNull JsName name, @Nullable JsExpression expr) { return new JsVars(new JsVars.JsVar(name, expr));