aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/visitors
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-28 11:58:39 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-28 11:58:39 +0000
commit11247b4df9b3d882f396ac7eaabb275908c8c8f8 (patch)
treeaf3f092d07f44e7b9751d4f81039fabbeac790b6 /src/main/java/org/zwobble/couscous/ast/visitors
parent8eda91c53e2df91b7b8022b80476513ac8116955 (diff)
Implement InterfaceNode.accept and transform
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/visitors')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java1
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java7
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java9
-rw-r--r--src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java1
4 files changed, 17 insertions, 1 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 e0e16a8..338d8d2 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapper.java
@@ -30,4 +30,5 @@ public interface NodeMapper<T> {
T visit(ConstructorNode constructorNode);
T visit(FieldDeclarationNode declaration);
T visit(ClassNode classNode);
+ T visit(InterfaceNode interfaceNode);
}
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 fb0b93a..bcb74d5 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeMapperWithDefault.java
@@ -118,7 +118,12 @@ public class NodeMapperWithDefault<T> implements NodeMapper<T> {
public T visit(ClassNode classNode) {
return defaultValue;
}
-
+
+ @Override
+ public T visit(InterfaceNode interfaceNode) {
+ return defaultValue;
+ }
+
@Override
public T visit(MethodNode methodNode) {
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 277813c..5e4d90d 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeTransformer.java
@@ -144,6 +144,11 @@ public class NodeTransformer {
public Node visit(ClassNode classNode) {
return transformClass(classNode);
}
+
+ @Override
+ public Node visit(InterfaceNode interfaceNode) {
+ return transformInterface(interfaceNode);
+ }
});
}
@@ -239,6 +244,10 @@ public class NodeTransformer {
return classNode.transform(this);
}
+ private Node transformInterface(InterfaceNode interfaceNode) {
+ return interfaceNode.transform(this);
+ }
+
public List<AnnotationNode> transformAnnotations(List<AnnotationNode> annotations) {
return transformList(annotations, this::transformAnnotation);
}
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 4a80008..28c38fc 100644
--- a/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java
+++ b/src/main/java/org/zwobble/couscous/ast/visitors/NodeVisitor.java
@@ -30,4 +30,5 @@ public interface NodeVisitor {
void visit(ConstructorNode constructorNode);
void visit(FieldDeclarationNode declaration);
void visit(ClassNode classNode);
+ void visit(InterfaceNode interfaceNode);
}