KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > soot > jimple > parser > node > AFileBody


1 /* This file was generated by SableCC (http://www.sablecc.org/). */
2
3 package soot.jimple.parser.node;
4
5 import java.util.*;
6 import soot.jimple.parser.analysis.*;
7
8 public final class AFileBody extends PFileBody
9 {
10     private TLBrace _lBrace_;
11     private final LinkedList _member_ = new TypedLinkedList(new Member_Cast());
12     private TRBrace _rBrace_;
13
14     public AFileBody()
15     {
16     }
17
18     public AFileBody(
19         TLBrace _lBrace_,
20         List _member_,
21         TRBrace _rBrace_)
22     {
23         setLBrace(_lBrace_);
24
25         {
26             this._member_.clear();
27             this._member_.addAll(_member_);
28         }
29
30         setRBrace(_rBrace_);
31
32     }
33
34     public AFileBody(
35         TLBrace _lBrace_,
36         XPMember _member_,
37         TRBrace _rBrace_)
38     {
39         setLBrace(_lBrace_);
40
41         if(_member_ != null)
42         {
43             while(_member_ instanceof X1PMember)
44             {
45                 this._member_.addFirst(((X1PMember) _member_).getPMember());
46                 _member_ = ((X1PMember) _member_).getXPMember();
47             }
48             this._member_.addFirst(((X2PMember) _member_).getPMember());
49         }
50
51         setRBrace(_rBrace_);
52
53     }
54     public Object JavaDoc clone()
55     {
56         return new AFileBody(
57             (TLBrace) cloneNode(_lBrace_),
58             cloneList(_member_),
59             (TRBrace) cloneNode(_rBrace_));
60     }
61
62     public void apply(Switch sw)
63     {
64         ((Analysis) sw).caseAFileBody(this);
65     }
66
67     public TLBrace getLBrace()
68     {
69         return _lBrace_;
70     }
71
72     public void setLBrace(TLBrace node)
73     {
74         if(_lBrace_ != null)
75         {
76             _lBrace_.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         _lBrace_ = node;
90     }
91
92     public LinkedList getMember()
93     {
94         return _member_;
95     }
96
97     public void setMember(List list)
98     {
99         _member_.clear();
100         _member_.addAll(list);
101     }
102
103     public TRBrace getRBrace()
104     {
105         return _rBrace_;
106     }
107
108     public void setRBrace(TRBrace node)
109     {
110         if(_rBrace_ != null)
111         {
112             _rBrace_.parent(null);
113         }
114
115         if(node != null)
116         {
117             if(node.parent() != null)
118             {
119                 node.parent().removeChild(node);
120             }
121
122             node.parent(this);
123         }
124
125         _rBrace_ = node;
126     }
127
128     public String JavaDoc toString()
129     {
130         return ""
131             + toString(_lBrace_)
132             + toString(_member_)
133             + toString(_rBrace_);
134     }
135
136     void removeChild(Node child)
137     {
138         if(_lBrace_ == child)
139         {
140             _lBrace_ = null;
141             return;
142         }
143
144         if(_member_.remove(child))
145         {
146             return;
147         }
148
149         if(_rBrace_ == child)
150         {
151             _rBrace_ = null;
152             return;
153         }
154
155     }
156
157     void replaceChild(Node oldChild, Node newChild)
158     {
159         if(_lBrace_ == oldChild)
160         {
161             setLBrace((TLBrace) newChild);
162             return;
163         }
164
165         for(ListIterator i = _member_.listIterator(); i.hasNext();)
166         {
167             if(i.next() == oldChild)
168             {
169                 if(newChild != null)
170                 {
171                     i.set(newChild);
172                     oldChild.parent(null);
173                     return;
174                 }
175
176                 i.remove();
177                 oldChild.parent(null);
178                 return;
179             }
180         }
181
182         if(_rBrace_ == oldChild)
183         {
184             setRBrace((TRBrace) newChild);
185             return;
186         }
187
188     }
189
190     private class Member_Cast implements Cast
191     {
192         public Object JavaDoc cast(Object JavaDoc o)
193         {
194             PMember node = (PMember) o;
195
196             if((node.parent() != null) &&
197                 (node.parent() != AFileBody.this))
198             {
199                 node.parent().removeChild(node);
200             }
201
202             if((node.parent() == null) ||
203                 (node.parent() != AFileBody.this))
204             {
205                 node.parent(AFileBody.this);
206             }
207
208             return node;
209         }
210     }
211 }
212
Popular Tags