1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 package org.codehaus.groovy.ast;
92
93
94
95 import org.codehaus.groovy.ast.expr.*;
96
97 import org.codehaus.groovy.ast.stmt.*;
98
99
100
101 /***
102
103 * An implementation of the visitor pattern for working with ASTNodes
104
105 *
106
107 * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
108
109 * @version $Revision: 1.27 $
110
111 */
112
113 public interface GroovyCodeVisitor {
114
115
116
117
118
119
120
121 public void visitBlockStatement(BlockStatement statement);
122
123 public void visitForLoop(ForStatement forLoop);
124
125 public void visitWhileLoop(WhileStatement loop);
126
127 public void visitDoWhileLoop(DoWhileStatement loop);
128
129 public void visitIfElse(IfStatement ifElse);
130
131 public void visitExpressionStatement(ExpressionStatement statement);
132
133 public void visitReturnStatement(ReturnStatement statement);
134
135 public void visitAssertStatement(AssertStatement statement);
136
137 public void visitTryCatchFinally(TryCatchStatement finally1);
138
139 public void visitSwitch(SwitchStatement statement);
140
141 public void visitCaseStatement(CaseStatement statement);
142
143 public void visitBreakStatement(BreakStatement statement);
144
145 public void visitContinueStatement(ContinueStatement statement);
146
147 public void visitThrowStatement(ThrowStatement statement);
148
149 public void visitSynchronizedStatement(SynchronizedStatement statement);
150
151 public void visitCatchStatement(CatchStatement statement);
152
153
154
155
156
157
158
159 public void visitMethodCallExpression(MethodCallExpression call);
160
161 public void visitStaticMethodCallExpression(StaticMethodCallExpression expression);
162
163 public void visitConstructorCallExpression(ConstructorCallExpression expression);
164
165 public void visitTernaryExpression(TernaryExpression expression);
166
167 public void visitBinaryExpression(BinaryExpression expression);
168
169 public void visitPrefixExpression(PrefixExpression expression);
170
171 public void visitPostfixExpression(PostfixExpression expression);
172
173 public void visitBooleanExpression(BooleanExpression expression);
174
175 public void visitClosureExpression(ClosureExpression expression);
176
177
178
179 public void visitTupleExpression(TupleExpression expression);
180
181 public void visitMapExpression(MapExpression expression);
182
183 public void visitMapEntryExpression(MapEntryExpression expression);
184
185 public void visitListExpression(ListExpression expression);
186
187 public void visitRangeExpression(RangeExpression expression);
188
189
190
191 public void visitPropertyExpression(PropertyExpression expression);
192
193 public void visitAttributeExpression(AttributeExpression attributeExpression);
194
195 public void visitFieldExpression(FieldExpression expression);
196
197 public void visitMethodPointerExpression(MethodPointerExpression expression);
198
199
200
201 public void visitConstantExpression(ConstantExpression expression);
202
203 public void visitClassExpression(ClassExpression expression);
204
205 public void visitVariableExpression(VariableExpression expression);
206
207 public void visitDeclarationExpression(DeclarationExpression expression);
208
209 public void visitRegexExpression(RegexExpression expression);
210
211 public void visitGStringExpression(GStringExpression expression);
212
213 public void visitArrayExpression(ArrayExpression expression);
214
215
216
217 public void visitSpreadExpression(SpreadExpression expression);
218
219 public void visitSpreadMapExpression(SpreadMapExpression expression);
220 public void visitNotExpression(NotExpression expression);
221
222 public void visitNegationExpression(NegationExpression expression);
223
224 public void visitBitwiseNegExpression(BitwiseNegExpression expression);
225
226 public void visitCastExpression(CastExpression expression);
227
228
229
230 }
231