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    }