aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/backends/csharp
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-17 15:47:28 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-17 15:47:28 +0100
commita5f76463dfc74d9b126f65416a51905a995c711d (patch)
treeb1f1970250c5d8fb080c5d2f888d411b95ea68be /src/main/java/org/zwobble/couscous/backends/csharp
parentac60bfdc353f27253282224f5bc6b34b587643f0 (diff)
C# serializer: serialize try statements
Diffstat (limited to 'src/main/java/org/zwobble/couscous/backends/csharp')
-rw-r--r--src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java16
1 files changed, 15 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 954e03a..c334334 100644
--- a/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
+++ b/src/main/java/org/zwobble/couscous/backends/csharp/CsharpSerializer.java
@@ -385,7 +385,21 @@ public class CsharpSerializer implements NodeVisitor {
@Override
public void visit(TryNode tryStatement) {
- throw new UnsupportedOperationException();
+ writer.writeStatement(() -> {
+ writer.writeKeyword("try");
+ writeBlock(tryStatement.getBody());
+ for (ExceptionHandlerNode handler : tryStatement.getExceptionHandlers()) {
+ writer.writeSpace();
+ writer.writeKeyword("catch");
+ writer.writeSpace();
+ writer.writeSymbol("(");
+ writeTypeReference(handler.getExceptionType());
+ writer.writeSpace();
+ writer.writeIdentifier(handler.getExceptionName());
+ writer.writeSymbol(")");
+ writeBlock(handler.getBody());
+ }
+ });
}
@Override