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