001 /**
002 *
003 * Copyright 2005 Jeremy Rayner
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 *
017 **/
018 package org.codehaus.groovy.antlr.treewalker;
019
020 import org.codehaus.groovy.antlr.GroovySourceAST;
021
022 /**
023 * An interface for visiting a GroovySourceAST node.
024 *
025 * @author <a href="mailto:groovy@ross-rayner.com">Jeremy Rayner</a>
026 * @version $Revision: 1.1 $
027 */
028
029 public interface Visitor {
030 final int OPENING_VISIT = 1;
031 final int CLOSING_VISIT = 2;
032 final int SUBSEQUENT_VISIT = 3;
033
034 void setUp();
035 void visitAbstract(GroovySourceAST t, int visit);
036 void visitAnnotation(GroovySourceAST t, int visit);
037 void visitAnnotations(GroovySourceAST t, int visit);
038 void visitAnnotationArrayInit(GroovySourceAST t, int visit);
039 void visitAnnotationDef(GroovySourceAST t, int visit);
040 void visitAnnotationFieldDef(GroovySourceAST t, int visit);
041 void visitAnnotationMemberValuePair(GroovySourceAST t, int visit);
042 void visitArrayDeclarator(GroovySourceAST t, int visit);
043 void visitAssign(GroovySourceAST t, int visit);
044 void visitAt(GroovySourceAST t, int visit);
045 void visitBand(GroovySourceAST t, int visit);
046 void visitBandAssign(GroovySourceAST t, int visit);
047 void visitBigSuffix(GroovySourceAST t, int visit);
048 void visitBlock(GroovySourceAST t, int visit);
049 void visitBnot(GroovySourceAST t, int visit);
050 void visitBor(GroovySourceAST t, int visit);
051 void visitBorAssign(GroovySourceAST t, int visit);
052 void visitBsr(GroovySourceAST t, int visit);
053 void visitBsrAssign(GroovySourceAST t, int visit);
054 void visitBxor(GroovySourceAST t, int visit);
055 void visitBxorAssign(GroovySourceAST t, int visit);
056 void visitCaseGroup(GroovySourceAST t, int visit);
057 void visitClassDef(GroovySourceAST t, int visit);
058 void visitClosedBlock(GroovySourceAST t, int visit);
059 void visitClosureOp(GroovySourceAST t, int visit);
060 void visitColon(GroovySourceAST t, int visit);
061 void visitComma(GroovySourceAST t, int visit);
062 void visitCompareTo(GroovySourceAST t, int visit);
063 void visitCtorCall(GroovySourceAST t, int visit);
064 void visitCtorIdent(GroovySourceAST t, int visit);
065 void visitDec(GroovySourceAST t, int visit);
066 void visitDigit(GroovySourceAST t, int visit);
067 void visitDiv(GroovySourceAST t, int visit);
068 void visitDivAssign(GroovySourceAST t, int visit);
069 void visitDollar(GroovySourceAST t, int visit);
070 void visitDot(GroovySourceAST t, int visit);
071 void visitDynamicMember(GroovySourceAST t, int visit);
072 void visitElist(GroovySourceAST t, int visit);
073 void visitEmptyStat(GroovySourceAST t, int visit);
074 void visitEnumConstantDef(GroovySourceAST t, int visit);
075 void visitEnumDef(GroovySourceAST t, int visit);
076 void visitEof(GroovySourceAST t, int visit);
077 void visitEqual(GroovySourceAST t, int visit);
078 void visitEsc(GroovySourceAST t, int visit);
079 void visitExponent(GroovySourceAST t, int visit);
080 void visitExpr(GroovySourceAST t, int visit);
081 void visitExtendsClause(GroovySourceAST t, int visit);
082 void visitFinal(GroovySourceAST t, int visit);
083 void visitFloatSuffix(GroovySourceAST t, int visit);
084 void visitForCondition(GroovySourceAST t, int visit);
085 void visitForEachClause(GroovySourceAST t, int visit);
086 void visitForInit(GroovySourceAST t, int visit);
087 void visitForInIterable(GroovySourceAST t, int visit);
088 void visitForIterator(GroovySourceAST t, int visit);
089 void visitGe(GroovySourceAST t, int visit);
090 void visitGt(GroovySourceAST t, int visit);
091 void visitHexDigit(GroovySourceAST t, int visit);
092 void visitIdent(GroovySourceAST t, int visit);
093 void visitImplementsClause(GroovySourceAST t, int visit);
094 void visitImplicitParameters(GroovySourceAST t, int visit);
095 void visitImport(GroovySourceAST t, int visit);
096 void visitInc(GroovySourceAST t, int visit);
097 void visitIndexOp(GroovySourceAST t, int visit);
098 void visitInstanceInit(GroovySourceAST t, int visit);
099 void visitInterfaceDef(GroovySourceAST t, int visit);
100 void visitLabeledArg(GroovySourceAST t, int visit);
101 void visitLabeledStat(GroovySourceAST t, int visit);
102 void visitLand(GroovySourceAST t, int visit);
103 void visitLbrack(GroovySourceAST t, int visit);
104 void visitLcurly(GroovySourceAST t, int visit);
105 void visitLe(GroovySourceAST t, int visit);
106 void visitLetter(GroovySourceAST t, int visit);
107 void visitListConstructor(GroovySourceAST t, int visit);
108 void visitLiteralAny(GroovySourceAST t, int visit);
109 void visitLiteralAs(GroovySourceAST t, int visit);
110 void visitLiteralAssert(GroovySourceAST t, int visit);
111 void visitLiteralBoolean(GroovySourceAST t, int visit);
112 void visitLiteralBreak(GroovySourceAST t, int visit);
113 void visitLiteralByte(GroovySourceAST t, int visit);
114 void visitLiteralCase(GroovySourceAST t, int visit);
115 void visitLiteralCatch(GroovySourceAST t, int visit);
116 void visitLiteralChar(GroovySourceAST t, int visit);
117 void visitLiteralClass(GroovySourceAST t, int visit);
118 void visitLiteralContinue(GroovySourceAST t, int visit);
119 void visitLiteralDef(GroovySourceAST t, int visit);
120 void visitLiteralDefault(GroovySourceAST t, int visit);
121 void visitLiteralDouble(GroovySourceAST t, int visit);
122 void visitLiteralElse(GroovySourceAST t, int visit);
123 void visitLiteralEnum(GroovySourceAST t, int visit);
124 void visitLiteralExtends(GroovySourceAST t, int visit);
125 void visitLiteralFalse(GroovySourceAST t, int visit);
126 void visitLiteralFinally(GroovySourceAST t, int visit);
127 void visitLiteralFloat(GroovySourceAST t, int visit);
128 void visitLiteralFor(GroovySourceAST t, int visit);
129 void visitLiteralIf(GroovySourceAST t, int visit);
130 void visitLiteralImplements(GroovySourceAST t, int visit);
131 void visitLiteralImport(GroovySourceAST t, int visit);
132 void visitLiteralIn(GroovySourceAST t, int visit);
133 void visitLiteralInstanceof(GroovySourceAST t, int visit);
134 void visitLiteralInt(GroovySourceAST t, int visit);
135 void visitLiteralInterface(GroovySourceAST t, int visit);
136 void visitLiteralLong(GroovySourceAST t, int visit);
137 void visitLiteralNative(GroovySourceAST t, int visit);
138 void visitLiteralNew(GroovySourceAST t, int visit);
139 void visitLiteralNull(GroovySourceAST t, int visit);
140 void visitLiteralPackage(GroovySourceAST t, int visit);
141 void visitLiteralPrivate(GroovySourceAST t, int visit);
142 void visitLiteralProtected(GroovySourceAST t, int visit);
143 void visitLiteralPublic(GroovySourceAST t, int visit);
144 void visitLiteralReturn(GroovySourceAST t, int visit);
145 void visitLiteralShort(GroovySourceAST t, int visit);
146 void visitLiteralStatic(GroovySourceAST t, int visit);
147 void visitLiteralSuper(GroovySourceAST t, int visit);
148 void visitLiteralSwitch(GroovySourceAST t, int visit);
149 void visitLiteralSynchronized(GroovySourceAST t, int visit);
150 void visitLiteralThis(GroovySourceAST t, int visit);
151 void visitLiteralThreadsafe(GroovySourceAST t, int visit);
152 void visitLiteralThrow(GroovySourceAST t, int visit);
153 void visitLiteralThrows(GroovySourceAST t, int visit);
154 void visitLiteralTransient(GroovySourceAST t, int visit);
155 void visitLiteralTrue(GroovySourceAST t, int visit);
156 void visitLiteralTry(GroovySourceAST t, int visit);
157 void visitLiteralVoid(GroovySourceAST t, int visit);
158 void visitLiteralVolatile(GroovySourceAST t, int visit);
159 void visitLiteralWhile(GroovySourceAST t, int visit);
160 void visitLiteralWith(GroovySourceAST t, int visit);
161 void visitLnot(GroovySourceAST t, int visit);
162 void visitLor(GroovySourceAST t, int visit);
163 void visitLparen(GroovySourceAST t, int visit);
164 void visitLt(GroovySourceAST t, int visit);
165 void visitMapConstructor(GroovySourceAST t, int visit);
166 void visitMemberPointer(GroovySourceAST t, int visit);
167 void visitMethodCall(GroovySourceAST t, int visit);
168 void visitMethodDef(GroovySourceAST t, int visit);
169 void visitMinus(GroovySourceAST t, int visit);
170 void visitMinusAssign(GroovySourceAST t, int visit);
171 void visitMlComment(GroovySourceAST t, int visit);
172 void visitMod(GroovySourceAST t, int visit);
173 void visitModifiers(GroovySourceAST t, int visit);
174 void visitModAssign(GroovySourceAST t, int visit);
175 void visitNls(GroovySourceAST t, int visit);
176 void visitNotEqual(GroovySourceAST t, int visit);
177 void visitNullTreeLookahead(GroovySourceAST t, int visit);
178 void visitNumBigDecimal(GroovySourceAST t, int visit);
179 void visitNumBigInt(GroovySourceAST t, int visit);
180 void visitNumDouble(GroovySourceAST t, int visit);
181 void visitNumFloat(GroovySourceAST t, int visit);
182 void visitNumInt(GroovySourceAST t, int visit);
183 void visitNumLong(GroovySourceAST t, int visit);
184 void visitObjblock(GroovySourceAST t, int visit);
185 void visitOneNl(GroovySourceAST t, int visit);
186 void visitOptionalDot(GroovySourceAST t, int visit);
187 void visitPackageDef(GroovySourceAST t, int visit);
188 void visitParameters(GroovySourceAST t, int visit);
189 void visitParameterDef(GroovySourceAST t, int visit);
190 void visitPlus(GroovySourceAST t, int visit);
191 void visitPlusAssign(GroovySourceAST t, int visit);
192 void visitPostDec(GroovySourceAST t, int visit);
193 void visitPostInc(GroovySourceAST t, int visit);
194 void visitQuestion(GroovySourceAST t, int visit);
195 void visitRangeExclusive(GroovySourceAST t, int visit);
196 void visitRangeInclusive(GroovySourceAST t, int visit);
197 void visitRbrack(GroovySourceAST t, int visit);
198 void visitRcurly(GroovySourceAST t, int visit);
199 void visitRegexpCtorEnd(GroovySourceAST t, int visit);
200 void visitRegexpLiteral(GroovySourceAST t, int visit);
201 void visitRegexpSymbol(GroovySourceAST t, int visit);
202 void visitRegexFind(GroovySourceAST t, int visit);
203 void visitRegexMatch(GroovySourceAST t, int visit);
204 void visitRparen(GroovySourceAST t, int visit);
205 void visitScopeEscape(GroovySourceAST t, int visit);
206 void visitSelectSlot(GroovySourceAST t, int visit);
207 void visitSemi(GroovySourceAST t, int visit);
208 void visitShComment(GroovySourceAST t, int visit);
209 void visitSl(GroovySourceAST t, int visit);
210 void visitSlist(GroovySourceAST t, int visit);
211 void visitSlAssign(GroovySourceAST t, int visit);
212 void visitSlComment(GroovySourceAST t, int visit);
213 void visitSpreadArg(GroovySourceAST t, int visit);
214 void visitSpreadDot(GroovySourceAST t, int visit);
215 void visitSpreadMapArg(GroovySourceAST t, int visit);
216 void visitSr(GroovySourceAST t, int visit);
217 void visitSrAssign(GroovySourceAST t, int visit);
218 void visitStar(GroovySourceAST t, int visit);
219 void visitStarAssign(GroovySourceAST t, int visit);
220 void visitStarStar(GroovySourceAST t, int visit);
221 void visitStarStarAssign(GroovySourceAST t, int visit);
222 void visitStaticImport(GroovySourceAST t, int visit);
223 void visitStaticInit(GroovySourceAST t, int visit);
224 void visitStrictfp(GroovySourceAST t, int visit);
225 void visitStringCh(GroovySourceAST t, int visit);
226 void visitStringConstructor(GroovySourceAST t, int visit);
227 void visitStringCtorEnd(GroovySourceAST t, int visit);
228 void visitStringCtorMiddle(GroovySourceAST t, int visit);
229 void visitStringCtorStart(GroovySourceAST t, int visit);
230 void visitStringLiteral(GroovySourceAST t, int visit);
231 void visitStringNl(GroovySourceAST t, int visit);
232 void visitSuperCtorCall(GroovySourceAST t, int visit);
233 void visitTripleDot(GroovySourceAST t, int visit);
234 void visitType(GroovySourceAST t, int visit);
235 void visitTypecast(GroovySourceAST t, int visit);
236 void visitTypeArgument(GroovySourceAST t, int visit);
237 void visitTypeArguments(GroovySourceAST t, int visit);
238 void visitTypeLowerBounds(GroovySourceAST t, int visit);
239 void visitTypeParameter(GroovySourceAST t, int visit);
240 void visitTypeParameters(GroovySourceAST t, int visit);
241 void visitTypeUpperBounds(GroovySourceAST t, int visit);
242 void visitUnaryMinus(GroovySourceAST t, int visit);
243 void visitUnaryPlus(GroovySourceAST t, int visit);
244 void visitUnusedConst(GroovySourceAST t, int visit);
245 void visitUnusedDo(GroovySourceAST t, int visit);
246 void visitUnusedGoto(GroovySourceAST t, int visit);
247 void visitVariableDef(GroovySourceAST t, int visit);
248 void visitVariableParameterDef(GroovySourceAST t, int visit);
249 void visitVocab(GroovySourceAST t, int visit);
250 void visitWildcardType(GroovySourceAST t, int visit);
251 void visitWs(GroovySourceAST t, int visit);
252
253 void visitDefault(GroovySourceAST t,int visit);
254 void tearDown();
255 }