diff options
Diffstat (limited to 'src/main/java/org/zwobble/couscous/transforms')
| -rw-r--r-- | src/main/java/org/zwobble/couscous/transforms/DesugarForToWhile.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/transforms/DesugarForToWhile.java b/src/main/java/org/zwobble/couscous/transforms/DesugarForToWhile.java index 6481c7a..68b961c 100644 --- a/src/main/java/org/zwobble/couscous/transforms/DesugarForToWhile.java +++ b/src/main/java/org/zwobble/couscous/transforms/DesugarForToWhile.java @@ -2,6 +2,7 @@ package org.zwobble.couscous.transforms; import org.zwobble.couscous.ast.ForNode; import org.zwobble.couscous.ast.NodeTypes; +import org.zwobble.couscous.ast.StatementBlockNode; import org.zwobble.couscous.ast.StatementNode; import org.zwobble.couscous.ast.visitors.NodeTransformer; @@ -13,6 +14,7 @@ import static org.zwobble.couscous.ast.WhileNode.whileLoop; import static org.zwobble.couscous.util.ExtraIterables.lazyMap; import static org.zwobble.couscous.util.ExtraLists.append; import static org.zwobble.couscous.util.ExtraLists.concat; +import static org.zwobble.couscous.util.ExtraLists.list; public class DesugarForToWhile { public static NodeTransformer transformer() { @@ -28,7 +30,7 @@ public class DesugarForToWhile { } public static List<StatementNode> desugar(ForNode forNode) { - return append( + List<StatementNode> statements = append( forNode.getInitializers(), whileLoop( forNode.getCondition(), @@ -38,5 +40,6 @@ public class DesugarForToWhile { ) ) ); + return list(new StatementBlockNode(statements)); } } |
