1 | /* This file was generated by SableCC (http://www.sablecc.org/). */ |
2 | |
3 | package uk.co.zonetora.fj.ast.node; |
4 | |
5 | import java.util.*; |
6 | import uk.co.zonetora.fj.ast.analysis.*; |
7 | |
8 | public final class AFieldDecl extends PFieldDecl |
9 | { |
10 | private TIdentifier _classname_; |
11 | private TIdentifier _fieldname_; |
12 | private TSemicolon _semicolon_; |
13 | |
14 | public AFieldDecl() |
15 | { |
16 | } |
17 | |
18 | public AFieldDecl( |
19 | TIdentifier _classname_, |
20 | TIdentifier _fieldname_, |
21 | TSemicolon _semicolon_) |
22 | { |
23 | setClassname(_classname_); |
24 | |
25 | setFieldname(_fieldname_); |
26 | |
27 | setSemicolon(_semicolon_); |
28 | |
29 | } |
30 | public Object clone() |
31 | { |
32 | return new AFieldDecl( |
33 | (TIdentifier) cloneNode(_classname_), |
34 | (TIdentifier) cloneNode(_fieldname_), |
35 | (TSemicolon) cloneNode(_semicolon_)); |
36 | } |
37 | |
38 | public void apply(Switch sw) |
39 | { |
40 | ((Analysis) sw).caseAFieldDecl(this); |
41 | } |
42 | |
43 | public TIdentifier getClassname() |
44 | { |
45 | return _classname_; |
46 | } |
47 | |
48 | public void setClassname(TIdentifier node) |
49 | { |
50 | if(_classname_ != null) |
51 | { |
52 | _classname_.parent(null); |
53 | } |
54 | |
55 | if(node != null) |
56 | { |
57 | if(node.parent() != null) |
58 | { |
59 | node.parent().removeChild(node); |
60 | } |
61 | |
62 | node.parent(this); |
63 | } |
64 | |
65 | _classname_ = node; |
66 | } |
67 | |
68 | public TIdentifier getFieldname() |
69 | { |
70 | return _fieldname_; |
71 | } |
72 | |
73 | public void setFieldname(TIdentifier node) |
74 | { |
75 | if(_fieldname_ != null) |
76 | { |
77 | _fieldname_.parent(null); |
78 | } |
79 | |
80 | if(node != null) |
81 | { |
82 | if(node.parent() != null) |
83 | { |
84 | node.parent().removeChild(node); |
85 | } |
86 | |
87 | node.parent(this); |
88 | } |
89 | |
90 | _fieldname_ = node; |
91 | } |
92 | |
93 | public TSemicolon getSemicolon() |
94 | { |
95 | return _semicolon_; |
96 | } |
97 | |
98 | public void setSemicolon(TSemicolon node) |
99 | { |
100 | if(_semicolon_ != null) |
101 | { |
102 | _semicolon_.parent(null); |
103 | } |
104 | |
105 | if(node != null) |
106 | { |
107 | if(node.parent() != null) |
108 | { |
109 | node.parent().removeChild(node); |
110 | } |
111 | |
112 | node.parent(this); |
113 | } |
114 | |
115 | _semicolon_ = node; |
116 | } |
117 | |
118 | public String toString() |
119 | { |
120 | return "" |
121 | + toString(_classname_) |
122 | + toString(_fieldname_) |
123 | + toString(_semicolon_); |
124 | } |
125 | |
126 | void removeChild(Node child) |
127 | { |
128 | if(_classname_ == child) |
129 | { |
130 | _classname_ = null; |
131 | return; |
132 | } |
133 | |
134 | if(_fieldname_ == child) |
135 | { |
136 | _fieldname_ = null; |
137 | return; |
138 | } |
139 | |
140 | if(_semicolon_ == child) |
141 | { |
142 | _semicolon_ = null; |
143 | return; |
144 | } |
145 | |
146 | } |
147 | |
148 | void replaceChild(Node oldChild, Node newChild) |
149 | { |
150 | if(_classname_ == oldChild) |
151 | { |
152 | setClassname((TIdentifier) newChild); |
153 | return; |
154 | } |
155 | |
156 | if(_fieldname_ == oldChild) |
157 | { |
158 | setFieldname((TIdentifier) newChild); |
159 | return; |
160 | } |
161 | |
162 | if(_semicolon_ == oldChild) |
163 | { |
164 | setSemicolon((TSemicolon) newChild); |
165 | return; |
166 | } |
167 | |
168 | } |
169 | } |