• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* This file was generated by SableCC (http://www.sablecc.org/). */
2 
3 package com.google.clearsilver.jsilver.syntax.node;
4 
5 import java.util.*;
6 
7 @SuppressWarnings("nls")
8 public abstract class Node implements Switchable, Cloneable
9 {
10     private Node parent;
11 
12     @Override
clone()13     public abstract Object clone();
14 
parent()15     public Node parent()
16     {
17         return this.parent;
18     }
19 
parent(@uppressWarnings"hiding") Node parent)20     void parent(@SuppressWarnings("hiding") Node parent)
21     {
22         this.parent = parent;
23     }
24 
removeChild(Node child)25     abstract void removeChild(Node child);
replaceChild(Node oldChild, Node newChild)26     abstract void replaceChild(Node oldChild, Node newChild);
27 
replaceBy(Node node)28     public void replaceBy(Node node)
29     {
30         this.parent.replaceChild(this, node);
31     }
32 
toString(Node node)33     protected String toString(Node node)
34     {
35         if(node != null)
36         {
37             return node.toString();
38         }
39 
40         return "";
41     }
42 
toString(List list)43     protected String toString(List list)
44     {
45         StringBuffer s = new StringBuffer();
46 
47         for(Iterator i = list.iterator(); i.hasNext();)
48         {
49             s.append(i.next());
50         }
51 
52         return s.toString();
53     }
54 
55     @SuppressWarnings("unchecked")
cloneNode(T node)56     protected <T extends Node> T cloneNode(T node)
57     {
58         if(node != null)
59         {
60             return (T) node.clone();
61         }
62 
63         return null;
64     }
65 
cloneList(List<T> list)66     protected <T> List<T> cloneList(List<T> list)
67     {
68         List<T> clone = new LinkedList<T>();
69 
70         for(T n : list)
71         {
72             clone.add(n);
73         }
74 
75         return clone;
76     }
77 }
78