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 package org.codehaus.groovy.ast;
47
48 import org.codehaus.groovy.ast.expr.*;
49 import org.codehaus.groovy.ast.stmt.*;
50
51 /***
52 * An implementation of the visitor pattern for working with ASTNodes
53 *
54 * @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
55 * @version $Revision: 1.20 $
56 */
57 public interface GroovyCodeVisitor {
58
59
60
61 public void visitBlockStatement(BlockStatement statement);
62 public void visitForLoop(ForStatement forLoop);
63 public void visitWhileLoop(WhileStatement loop);
64 public void visitDoWhileLoop(DoWhileStatement loop);
65 public void visitIfElse(IfStatement ifElse);
66 public void visitExpressionStatement(ExpressionStatement statement);
67 public void visitReturnStatement(ReturnStatement statement);
68 public void visitAssertStatement(AssertStatement statement);
69 public void visitTryCatchFinally(TryCatchStatement finally1);
70 public void visitSwitch(SwitchStatement statement);
71 public void visitCaseStatement(CaseStatement statement);
72 public void visitBreakStatement(BreakStatement statement);
73 public void visitContinueStatement(ContinueStatement statement);
74 public void visitThrowStatement(ThrowStatement statement);
75 public void visitSynchronizedStatement(SynchronizedStatement statement);
76
77
78
79 public void visitMethodCallExpression(MethodCallExpression call);
80 public void visitStaticMethodCallExpression(StaticMethodCallExpression expression);
81 public void visitConstructorCallExpression(ConstructorCallExpression expression);
82 public void visitTernaryExpression(TernaryExpression expression);
83 public void visitBinaryExpression(BinaryExpression expression);
84 public void visitPrefixExpression(PrefixExpression expression);
85 public void visitPostfixExpression(PostfixExpression expression);
86 public void visitBooleanExpression(BooleanExpression expression);
87 public void visitClosureExpression(ClosureExpression expression);
88
89 public void visitTupleExpression(TupleExpression expression);
90 public void visitMapExpression(MapExpression expression);
91 public void visitMapEntryExpression(MapEntryExpression expression);
92 public void visitListExpression(ListExpression expression);
93 public void visitRangeExpression(RangeExpression expression);
94
95 public void visitConstantExpression(ConstantExpression expression);
96 public void visitClassExpression(ClassExpression expression);
97 public void visitVariableExpression(VariableExpression expression);
98 public void visitPropertyExpression(PropertyExpression expression);
99 public void visitFieldExpression(FieldExpression expression);
100 public void visitRegexExpression(RegexExpression expression);
101 public void visitGStringExpression(GStringExpression expression);
102 public void visitArrayExpression(ArrayExpression expression);
103 public void visitNotExpression(NotExpression expression);
104 public void visitNegationExpression(NegationExpression expression);
105 public void visitCastExpression(CastExpression expression);
106 }