diff options
Diffstat (limited to 'src/lombok/core/AST.java')
-rw-r--r-- | src/lombok/core/AST.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/lombok/core/AST.java b/src/lombok/core/AST.java index c1186d24..8e060f07 100644 --- a/src/lombok/core/AST.java +++ b/src/lombok/core/AST.java @@ -134,7 +134,7 @@ public abstract class AST<N> { } public Collection<? extends Node> down() { - return children; + return new ArrayList<Node>(children); } public boolean isHandled() { @@ -154,13 +154,18 @@ public abstract class AST<N> { return fileName; } - public Node add(N newChild, Kind kind) { + @SuppressWarnings("unchecked") public Node add(N newChild, Kind kind) { Node n = buildTree(newChild, kind); if ( n == null ) return null; n.parent = this; + ((List)children).add(n); return n; } + public void removeChild(Node child) { + children.remove(child); + } + public Node recursiveSetHandled() { this.handled = true; for ( Node child : children ) child.recursiveSetHandled(); |