001 // -*- mode: java -*-
002 /* Copyright 2000, 2001, Compaq Computer Corporation */
003
004 /* IF THIS IS A JAVA FILE, DO NOT EDIT IT!
005
006 Most Java files in this directory which are part of the Javafe AST
007 are automatically generated using the astgen comment (see
008 ESCTools/Javafe/astgen) from the input file 'hierarchy.h'. If you
009 wish to modify AST classes or introduce new ones, modify
010 'hierarchy.j.'
011 */
012
013 package javafe.ast;
014
015 import javafe.util.Assert;
016 import javafe.util.Location;
017 import javafe.util.ErrorSet;
018
019 // Convention: unless otherwise noted, integer fields named "loc" refer
020 // to the location of the first character of the syntactic unit
021
022 public abstract class VisitorArgResult {
023 public abstract /*@non_null*/ Object visitASTNode(/*@non_null*/ ASTNode x, Object o);
024
025 public /*@non_null*/ Object visitCompilationUnit(/*@non_null*/ CompilationUnit x, Object o) {
026 return visitASTNode(x, o);
027 }
028
029 public /*@non_null*/ Object visitImportDecl(/*@non_null*/ ImportDecl x, Object o) {
030 return visitASTNode(x, o);
031 }
032
033 public /*@non_null*/ Object visitSingleTypeImportDecl(/*@non_null*/ SingleTypeImportDecl x, Object o) {
034 return visitImportDecl(x, o);
035 }
036
037 public /*@non_null*/ Object visitOnDemandImportDecl(/*@non_null*/ OnDemandImportDecl x, Object o) {
038 return visitImportDecl(x, o);
039 }
040
041 public /*@non_null*/ Object visitTypeDecl(/*@non_null*/ TypeDecl x, Object o) {
042 return visitASTNode(x, o);
043 }
044
045 public /*@non_null*/ Object visitClassDecl(/*@non_null*/ ClassDecl x, Object o) {
046 return visitTypeDecl(x, o);
047 }
048
049 public /*@non_null*/ Object visitInterfaceDecl(/*@non_null*/ InterfaceDecl x, Object o) {
050 return visitTypeDecl(x, o);
051 }
052
053 public /*@non_null*/ Object visitRoutineDecl(/*@non_null*/ RoutineDecl x, Object o) {
054 return visitASTNode(x, o);
055 }
056
057 public /*@non_null*/ Object visitConstructorDecl(/*@non_null*/ ConstructorDecl x, Object o) {
058 return visitRoutineDecl(x, o);
059 }
060
061 public /*@non_null*/ Object visitMethodDecl(/*@non_null*/ MethodDecl x, Object o) {
062 return visitRoutineDecl(x, o);
063 }
064
065 public /*@non_null*/ Object visitInitBlock(/*@non_null*/ InitBlock x, Object o) {
066 return visitASTNode(x, o);
067 }
068
069 public /*@non_null*/ Object visitTypeDeclElemPragma(/*@non_null*/ TypeDeclElemPragma x, Object o) {
070 return visitASTNode(x, o);
071 }
072
073 public /*@non_null*/ Object visitGenericVarDecl(/*@non_null*/ GenericVarDecl x, Object o) {
074 return visitASTNode(x, o);
075 }
076
077 public /*@non_null*/ Object visitLocalVarDecl(/*@non_null*/ LocalVarDecl x, Object o) {
078 return visitGenericVarDecl(x, o);
079 }
080
081 public /*@non_null*/ Object visitFieldDecl(/*@non_null*/ FieldDecl x, Object o) {
082 return visitGenericVarDecl(x, o);
083 }
084
085 public /*@non_null*/ Object visitFormalParaDecl(/*@non_null*/ FormalParaDecl x, Object o) {
086 return visitGenericVarDecl(x, o);
087 }
088
089 public /*@non_null*/ Object visitStmt(/*@non_null*/ Stmt x, Object o) {
090 return visitASTNode(x, o);
091 }
092
093 public /*@non_null*/ Object visitGenericBlockStmt(/*@non_null*/ GenericBlockStmt x, Object o) {
094 return visitStmt(x, o);
095 }
096
097 public /*@non_null*/ Object visitBlockStmt(/*@non_null*/ BlockStmt x, Object o) {
098 return visitGenericBlockStmt(x, o);
099 }
100
101 public /*@non_null*/ Object visitSwitchStmt(/*@non_null*/ SwitchStmt x, Object o) {
102 return visitGenericBlockStmt(x, o);
103 }
104
105 public /*@non_null*/ Object visitAssertStmt(/*@non_null*/ AssertStmt x, Object o) {
106 return visitStmt(x, o);
107 }
108
109 public /*@non_null*/ Object visitVarDeclStmt(/*@non_null*/ VarDeclStmt x, Object o) {
110 return visitStmt(x, o);
111 }
112
113 public /*@non_null*/ Object visitClassDeclStmt(/*@non_null*/ ClassDeclStmt x, Object o) {
114 return visitStmt(x, o);
115 }
116
117 public /*@non_null*/ Object visitWhileStmt(/*@non_null*/ WhileStmt x, Object o) {
118 return visitStmt(x, o);
119 }
120
121 public /*@non_null*/ Object visitDoStmt(/*@non_null*/ DoStmt x, Object o) {
122 return visitStmt(x, o);
123 }
124
125 public /*@non_null*/ Object visitSynchronizeStmt(/*@non_null*/ SynchronizeStmt x, Object o) {
126 return visitStmt(x, o);
127 }
128
129 public /*@non_null*/ Object visitEvalStmt(/*@non_null*/ EvalStmt x, Object o) {
130 return visitStmt(x, o);
131 }
132
133 public /*@non_null*/ Object visitReturnStmt(/*@non_null*/ ReturnStmt x, Object o) {
134 return visitStmt(x, o);
135 }
136
137 public /*@non_null*/ Object visitThrowStmt(/*@non_null*/ ThrowStmt x, Object o) {
138 return visitStmt(x, o);
139 }
140
141 public /*@non_null*/ Object visitBranchStmt(/*@non_null*/ BranchStmt x, Object o) {
142 return visitStmt(x, o);
143 }
144
145 public /*@non_null*/ Object visitBreakStmt(/*@non_null*/ BreakStmt x, Object o) {
146 return visitBranchStmt(x, o);
147 }
148
149 public /*@non_null*/ Object visitContinueStmt(/*@non_null*/ ContinueStmt x, Object o) {
150 return visitBranchStmt(x, o);
151 }
152
153 public /*@non_null*/ Object visitLabelStmt(/*@non_null*/ LabelStmt x, Object o) {
154 return visitStmt(x, o);
155 }
156
157 public /*@non_null*/ Object visitIfStmt(/*@non_null*/ IfStmt x, Object o) {
158 return visitStmt(x, o);
159 }
160
161 public /*@non_null*/ Object visitForStmt(/*@non_null*/ ForStmt x, Object o) {
162 return visitStmt(x, o);
163 }
164
165 public /*@non_null*/ Object visitSkipStmt(/*@non_null*/ SkipStmt x, Object o) {
166 return visitStmt(x, o);
167 }
168
169 public /*@non_null*/ Object visitSwitchLabel(/*@non_null*/ SwitchLabel x, Object o) {
170 return visitStmt(x, o);
171 }
172
173 public /*@non_null*/ Object visitTryFinallyStmt(/*@non_null*/ TryFinallyStmt x, Object o) {
174 return visitStmt(x, o);
175 }
176
177 public /*@non_null*/ Object visitTryCatchStmt(/*@non_null*/ TryCatchStmt x, Object o) {
178 return visitStmt(x, o);
179 }
180
181 public /*@non_null*/ Object visitStmtPragma(/*@non_null*/ StmtPragma x, Object o) {
182 return visitStmt(x, o);
183 }
184
185 public /*@non_null*/ Object visitConstructorInvocation(/*@non_null*/ ConstructorInvocation x, Object o) {
186 return visitStmt(x, o);
187 }
188
189 public /*@non_null*/ Object visitCatchClause(/*@non_null*/ CatchClause x, Object o) {
190 return visitASTNode(x, o);
191 }
192
193 public /*@non_null*/ Object visitVarInit(/*@non_null*/ VarInit x, Object o) {
194 return visitASTNode(x, o);
195 }
196
197 public /*@non_null*/ Object visitArrayInit(/*@non_null*/ ArrayInit x, Object o) {
198 return visitVarInit(x, o);
199 }
200
201 public /*@non_null*/ Object visitExpr(/*@non_null*/ Expr x, Object o) {
202 return visitVarInit(x, o);
203 }
204
205 public /*@non_null*/ Object visitThisExpr(/*@non_null*/ ThisExpr x, Object o) {
206 return visitExpr(x, o);
207 }
208
209 public /*@non_null*/ Object visitLiteralExpr(/*@non_null*/ LiteralExpr x, Object o) {
210 return visitExpr(x, o);
211 }
212
213 public /*@non_null*/ Object visitArrayRefExpr(/*@non_null*/ ArrayRefExpr x, Object o) {
214 return visitExpr(x, o);
215 }
216
217 public /*@non_null*/ Object visitNewInstanceExpr(/*@non_null*/ NewInstanceExpr x, Object o) {
218 return visitExpr(x, o);
219 }
220
221 public /*@non_null*/ Object visitNewArrayExpr(/*@non_null*/ NewArrayExpr x, Object o) {
222 return visitExpr(x, o);
223 }
224
225 public /*@non_null*/ Object visitCondExpr(/*@non_null*/ CondExpr x, Object o) {
226 return visitExpr(x, o);
227 }
228
229 public /*@non_null*/ Object visitInstanceOfExpr(/*@non_null*/ InstanceOfExpr x, Object o) {
230 return visitExpr(x, o);
231 }
232
233 public /*@non_null*/ Object visitCastExpr(/*@non_null*/ CastExpr x, Object o) {
234 return visitExpr(x, o);
235 }
236
237 public /*@non_null*/ Object visitBinaryExpr(/*@non_null*/ BinaryExpr x, Object o) {
238 return visitExpr(x, o);
239 }
240
241 public /*@non_null*/ Object visitUnaryExpr(/*@non_null*/ UnaryExpr x, Object o) {
242 return visitExpr(x, o);
243 }
244
245 public /*@non_null*/ Object visitParenExpr(/*@non_null*/ ParenExpr x, Object o) {
246 return visitExpr(x, o);
247 }
248
249 public /*@non_null*/ Object visitAmbiguousVariableAccess(/*@non_null*/ AmbiguousVariableAccess x, Object o) {
250 return visitExpr(x, o);
251 }
252
253 public /*@non_null*/ Object visitVariableAccess(/*@non_null*/ VariableAccess x, Object o) {
254 return visitExpr(x, o);
255 }
256
257 public /*@non_null*/ Object visitFieldAccess(/*@non_null*/ FieldAccess x, Object o) {
258 return visitExpr(x, o);
259 }
260
261 public /*@non_null*/ Object visitAmbiguousMethodInvocation(/*@non_null*/ AmbiguousMethodInvocation x, Object o) {
262 return visitExpr(x, o);
263 }
264
265 public /*@non_null*/ Object visitMethodInvocation(/*@non_null*/ MethodInvocation x, Object o) {
266 return visitExpr(x, o);
267 }
268
269 public /*@non_null*/ Object visitClassLiteral(/*@non_null*/ ClassLiteral x, Object o) {
270 return visitExpr(x, o);
271 }
272
273 public /*@non_null*/ Object visitObjectDesignator(/*@non_null*/ ObjectDesignator x, Object o) {
274 return visitASTNode(x, o);
275 }
276
277 public /*@non_null*/ Object visitExprObjectDesignator(/*@non_null*/ ExprObjectDesignator x, Object o) {
278 return visitObjectDesignator(x, o);
279 }
280
281 public /*@non_null*/ Object visitTypeObjectDesignator(/*@non_null*/ TypeObjectDesignator x, Object o) {
282 return visitObjectDesignator(x, o);
283 }
284
285 public /*@non_null*/ Object visitSuperObjectDesignator(/*@non_null*/ SuperObjectDesignator x, Object o) {
286 return visitObjectDesignator(x, o);
287 }
288
289 public /*@non_null*/ Object visitType(/*@non_null*/ Type x, Object o) {
290 return visitASTNode(x, o);
291 }
292
293 public /*@non_null*/ Object visitErrorType(/*@non_null*/ ErrorType x, Object o) {
294 return visitType(x, o);
295 }
296
297 public /*@non_null*/ Object visitPrimitiveType(/*@non_null*/ PrimitiveType x, Object o) {
298 return visitType(x, o);
299 }
300
301 public /*@non_null*/ Object visitJavafePrimitiveType(/*@non_null*/ JavafePrimitiveType x, Object o) {
302 return visitPrimitiveType(x, o);
303 }
304
305 public /*@non_null*/ Object visitTypeName(/*@non_null*/ TypeName x, Object o) {
306 return visitType(x, o);
307 }
308
309 public /*@non_null*/ Object visitArrayType(/*@non_null*/ ArrayType x, Object o) {
310 return visitType(x, o);
311 }
312
313 public /*@non_null*/ Object visitName(/*@non_null*/ Name x, Object o) {
314 return visitASTNode(x, o);
315 }
316
317 public /*@non_null*/ Object visitSimpleName(/*@non_null*/ SimpleName x, Object o) {
318 return visitName(x, o);
319 }
320
321 public /*@non_null*/ Object visitCompoundName(/*@non_null*/ CompoundName x, Object o) {
322 return visitName(x, o);
323 }
324
325 public /*@non_null*/ Object visitModifierPragma(/*@non_null*/ ModifierPragma x, Object o) {
326 return visitASTNode(x, o);
327 }
328
329 public /*@non_null*/ Object visitLexicalPragma(/*@non_null*/ LexicalPragma x, Object o) {
330 return visitASTNode(x, o);
331 }
332
333 public /*@non_null*/ Object visitTypeModifierPragma(/*@non_null*/ TypeModifierPragma x, Object o) {
334 return visitASTNode(x, o);
335 }
336
337 }