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 }