diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-07-31 19:13:45 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-07-31 19:13:45 +0100 |
| commit | 4189eb24789bd5d1d9ef4ecea567f4119cbb325c (patch) | |
| tree | e6e3812215edcfb68225df2eb715b38c8705ee91 /src/test/java/org/zwobble | |
| parent | 157aa4fbc6447900c33f668ccaf6de46632e6b5c (diff) | |
Implement for loops using desugar
Diffstat (limited to 'src/test/java/org/zwobble')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 20 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReading.java | 1 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java index c7ad81d..fdcfce6 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -166,17 +166,17 @@ public class JavaReaderTests { @Test public void canReadForLoops() { - List<StatementNode> statements = readStatements("int", "for (int x = 0; true; ++x) { return 1; }"); - LocalVariableDeclarationNode declaration = (LocalVariableDeclarationNode) statements.get(0); + StatementNode statement = readStatement("int", "for (int x = 0; true; ++x) { return 1; }"); + VariableDeclaration loopVariable = var(MAIN_IDENTIFIER.variable("x"), "x", Types.INT); assertEquals( - list( - localVariableDeclaration(declaration.getDeclaration(), literal(0)), - whileLoop( - literal(true), - list( - returns(literal(1)), - expressionStatement(assign(declaration, integerAdd(reference(declaration), literal(1))))))), - statements); + new ForNode( + list(localVariableDeclaration(loopVariable, literal(0))), + literal(true), + list(assign(reference(loopVariable), integerAdd(reference(loopVariable), literal(1)))), + list(returns(literal(1))) + ), + statement + ); } @Test diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReading.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReading.java index e64de11..eb6e839 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReading.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReading.java @@ -38,6 +38,7 @@ public class JavaReading { } static StatementNode readStatement(String returnType, String statementSource) { + // TODO: use only() return readStatements(returnType, statementSource).get(0); } |
