From 38c95d6f76efde8b14a93e3a31d28c5d56bfb638 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 10 Jul 2016 18:10:01 +0100 Subject: Move childNodes onto Node interface --- src/main/java/org/zwobble/couscous/ast/ClassNode.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/ast/ClassNode.java') 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; @@ -95,6 +97,15 @@ public class ClassNode implements TypeNode { return visitor.visit(this); } + @Override + public Iterable childNodes() { + return Iterables.concat( + ExtraIterables.of(constructor), + fields, + methods + ); + } + @Override public ClassNode transform(NodeTransformer transformer) { return new ClassNode( -- cgit v1.2.3