1 /* This file was generated by SableCC (http://www.sablecc.org/). */
\r
3 package org.simantics.basicexpression.node;
\r
7 @SuppressWarnings("nls")
\r
8 public abstract class Node implements Switchable, Cloneable
\r
10 private Node parent;
\r
13 public abstract Object clone();
\r
15 public Node parent()
\r
20 void parent(@SuppressWarnings("hiding") Node parent)
\r
22 this.parent = parent;
\r
25 abstract void removeChild(Node child);
\r
26 abstract void replaceChild(Node oldChild, Node newChild);
\r
28 public void replaceBy(Node node)
\r
30 this.parent.replaceChild(this, node);
\r
33 protected String toString(Node node)
\r
37 return node.toString();
\r
43 protected String toString(List list)
\r
45 StringBuffer s = new StringBuffer();
\r
47 for(Iterator i = list.iterator(); i.hasNext();)
\r
52 return s.toString();
\r
55 @SuppressWarnings("unchecked")
\r
56 protected <T extends Node> T cloneNode(T node)
\r
60 return (T) node.clone();
\r
66 protected <T> List<T> cloneList(List<T> list)
\r
68 List<T> clone = new LinkedList<T>();
\r