• 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 com.google.clearsilver.jsilver.syntax.analysis.*;
6 
7 @SuppressWarnings("nls")
8 public final class ADescendVariable extends PVariable
9 {
10     private PVariable _parent_;
11     private PVariable _child_;
12 
ADescendVariable()13     public ADescendVariable()
14     {
15         // Constructor
16     }
17 
ADescendVariable( @uppressWarnings"hiding") PVariable _parent_, @SuppressWarnings("hiding") PVariable _child_)18     public ADescendVariable(
19         @SuppressWarnings("hiding") PVariable _parent_,
20         @SuppressWarnings("hiding") PVariable _child_)
21     {
22         // Constructor
23         setParent(_parent_);
24 
25         setChild(_child_);
26 
27     }
28 
29     @Override
clone()30     public Object clone()
31     {
32         return new ADescendVariable(
33             cloneNode(this._parent_),
34             cloneNode(this._child_));
35     }
36 
apply(Switch sw)37     public void apply(Switch sw)
38     {
39         ((Analysis) sw).caseADescendVariable(this);
40     }
41 
getParent()42     public PVariable getParent()
43     {
44         return this._parent_;
45     }
46 
setParent(PVariable node)47     public void setParent(PVariable node)
48     {
49         if(this._parent_ != null)
50         {
51             this._parent_.parent(null);
52         }
53 
54         if(node != null)
55         {
56             if(node.parent() != null)
57             {
58                 node.parent().removeChild(node);
59             }
60 
61             node.parent(this);
62         }
63 
64         this._parent_ = node;
65     }
66 
getChild()67     public PVariable getChild()
68     {
69         return this._child_;
70     }
71 
setChild(PVariable node)72     public void setChild(PVariable node)
73     {
74         if(this._child_ != null)
75         {
76             this._child_.parent(null);
77         }
78 
79         if(node != null)
80         {
81             if(node.parent() != null)
82             {
83                 node.parent().removeChild(node);
84             }
85 
86             node.parent(this);
87         }
88 
89         this._child_ = node;
90     }
91 
92     @Override
toString()93     public String toString()
94     {
95         return ""
96             + toString(this._parent_)
97             + toString(this._child_);
98     }
99 
100     @Override
removeChild(@uppressWarnings"unused") Node child)101     void removeChild(@SuppressWarnings("unused") Node child)
102     {
103         // Remove child
104         if(this._parent_ == child)
105         {
106             this._parent_ = null;
107             return;
108         }
109 
110         if(this._child_ == child)
111         {
112             this._child_ = null;
113             return;
114         }
115 
116         throw new RuntimeException("Not a child.");
117     }
118 
119     @Override
replaceChild(@uppressWarnings"unused") Node oldChild, @SuppressWarnings("unused") Node newChild)120     void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild)
121     {
122         // Replace child
123         if(this._parent_ == oldChild)
124         {
125             setParent((PVariable) newChild);
126             return;
127         }
128 
129         if(this._child_ == oldChild)
130         {
131             setChild((PVariable) newChild);
132             return;
133         }
134 
135         throw new RuntimeException("Not a child.");
136     }
137 }
138