diff --git a/js/js.translator/lib/dart-ast.jar b/js/js.translator/lib/dart-ast.jar index b070d459c80..6438d319773 100644 Binary files a/js/js.translator/lib/dart-ast.jar and b/js/js.translator/lib/dart-ast.jar differ diff --git a/js/js.translator/lib/src/dart-ast-src.jar b/js/js.translator/lib/src/dart-ast-src.jar index 1cc9832315e..489dea545b4 100644 Binary files a/js/js.translator/lib/src/dart-ast-src.jar and b/js/js.translator/lib/src/dart-ast-src.jar differ 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));