aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/visitors
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-04-17 15:33:54 +0100
committerMichael Williamson <mike@zwobble.org>2016-04-17 15:33:54 +0100
commitecfac0740033b048b55001332eb11131b64ddcaf (patch)
treebd499f42accc622a1da57b0a63a67f2fdeb139f7 /src/main/java/org/zwobble/couscous/ast/visitors
parentbafd17e14f610511cd7a191223a3561b1602892a (diff)
Add try nodes
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/visitors')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java2
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java5
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java5
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java1
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeMapper.java2
5 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java
index 1a42060..50855d8 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java
@@ -25,7 +25,7 @@ public interface NodeMapper<T> {
T visit(LocalVariableDeclarationNode localVariableDeclaration);
T visit(IfStatementNode ifStatement);
T visit(WhileNode whileLoop);
-
+ T visit(TryNode tryStatement);
T visit(FormalTypeParameterNode parameter);
T visit(FormalArgumentNode formalArgumentNode);
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java
index 9344f86..9fd2617 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java
@@ -110,6 +110,11 @@ public class NodeMapperWithDefault<T> implements NodeMapper<T> {
}
@Override
+ public T visit(TryNode tryStatement) {
+ return defaultValue;
+ }
+
+ @Override
public T visit(FormalTypeParameterNode parameter) {
return defaultValue;
}
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
index e1e9837..0edbad9 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
@@ -131,6 +131,11 @@ public class NodeTransformer {
}
@Override
+ public Node visit(TryNode tryStatement) {
+ return transformStatement(tryStatement);
+ }
+
+ @Override
public Node visit(FormalTypeParameterNode parameter) {
return transformFormalTypeParameter(parameter);
}
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java b/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java
index adbcb87..9ac4a16 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java
@@ -25,6 +25,7 @@ public interface NodeVisitor {
void visit(LocalVariableDeclarationNode localVariableDeclaration);
void visit(IfStatementNode ifStatement);
void visit(WhileNode whileLoop);
+ void visit(TryNode tryStatement);
void visit(FormalTypeParameterNode parameter);
void visit(FormalArgumentNode formalArgumentNode);
diff --git a/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeMapper.java b/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeMapper.java
index 516a4b9..5d88a60 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeMapper.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/StatementNodeMapper.java
@@ -9,5 +9,5 @@ public interface StatementNodeMapper<T> {
T visit(LocalVariableDeclarationNode localVariableDeclaration);
T visit(IfStatementNode ifStatement);
T visit(WhileNode whileLoop);
-
+ T visit(TryNode tryStatement);
}