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    }