aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/ast/ClassNode.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-07-10 18:10:01 +0100
committerMichael Williamson <mike@zwobble.org>2016-07-10 18:10:01 +0100
commit38c95d6f76efde8b14a93e3a31d28c5d56bfb638 (patch)
tree20dd1f704f35d0fa543880c50de0b23223115b18 /src/main/java/org/zwobble/couscous/ast/ClassNode.java
parente03888258102153ad4eba61b237df34241f42eea (diff)
Move childNodes onto Node interface
Diffstat (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNode.java')
-rw-r--r--src/main/java/org/zwobble/couscous/ast/ClassNode.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNode.java b/src/main/java/org/zwobble/couscous/ast/ClassNode.java
index bcdd275..97f66f8 100644
--- a/src/main/java/org/zwobble/couscous/ast/ClassNode.java
+++ b/src/main/java/org/zwobble/couscous/ast/ClassNode.java
@@ -1,9 +1,11 @@
package org.zwobble.couscous.ast;
-import org.zwobble.couscous.types.ScalarType;
-import org.zwobble.couscous.types.Type;
+import com.google.common.collect.Iterables;
import org.zwobble.couscous.ast.visitors.NodeMapper;
import org.zwobble.couscous.ast.visitors.NodeTransformer;
+import org.zwobble.couscous.types.ScalarType;
+import org.zwobble.couscous.types.Type;
+import org.zwobble.couscous.util.ExtraIterables;
import java.util.List;
import java.util.Set;
@@ -96,6 +98,15 @@ public class ClassNode implements TypeNode {
}
@Override
+ public Iterable<? extends Node> childNodes() {
+ return Iterables.concat(
+ ExtraIterables.of(constructor),
+ fields,
+ methods
+ );
+ }
+
+ @Override
public ClassNode transform(NodeTransformer transformer) {
return new ClassNode(
transformer.transform(name),