aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java5
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java7
2 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
index fd7f953..c9df2ac 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -168,7 +168,10 @@ public class CsharpSerializer implements NodeVisitor {
@Override
public void visit(ExpressionStatementNode expressionStatement) {
- throw new UnsupportedOperationException();
+ writer.writeStatement(() -> {
+ write(expressionStatement.getExpression());
+ writer.writeSymbol(";");
+ });
}
@Override
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
index 8c3162b..2986234 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
@@ -7,6 +7,7 @@ import org.zwobble.couscous.tests.TestIds;
import static org.junit.Assert.assertEquals;
import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall;
+import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement;
import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess;
import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg;
import static org.zwobble.couscous.ast.LiteralNode.literal;
@@ -127,6 +128,12 @@ public class CsharpSerializerTests {
}
@Test
+ public void expressionStatementWritesExpression() {
+ String output = serialize(expressionStatement(literal(true)));
+ assertEquals("true;\n", output);
+ }
+
+ @Test
public void methodHasDynamicReturnType() {
String output = serialize(MethodNode.staticMethod("nothing").build());
assertEquals("internal static void nothing() {\n}\n", output);