001/**
002 * Copyright 2005-2015 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kuali.rice.devtools.jpa.eclipselink.conv.parser.helper;
017
018import japa.parser.ast.comments.BlockComment;
019import japa.parser.ast.CompilationUnit;
020import japa.parser.ast.ImportDeclaration;
021import japa.parser.ast.comments.LineComment;
022import japa.parser.ast.PackageDeclaration;
023import japa.parser.ast.TypeParameter;
024import japa.parser.ast.body.AnnotationDeclaration;
025import japa.parser.ast.body.AnnotationMemberDeclaration;
026import japa.parser.ast.body.ClassOrInterfaceDeclaration;
027import japa.parser.ast.body.ConstructorDeclaration;
028import japa.parser.ast.body.EmptyMemberDeclaration;
029import japa.parser.ast.body.EmptyTypeDeclaration;
030import japa.parser.ast.body.EnumConstantDeclaration;
031import japa.parser.ast.body.EnumDeclaration;
032import japa.parser.ast.body.FieldDeclaration;
033import japa.parser.ast.body.InitializerDeclaration;
034import japa.parser.ast.comments.JavadocComment;
035import japa.parser.ast.body.MethodDeclaration;
036import japa.parser.ast.body.Parameter;
037import japa.parser.ast.body.VariableDeclarator;
038import japa.parser.ast.body.VariableDeclaratorId;
039import japa.parser.ast.expr.ArrayAccessExpr;
040import japa.parser.ast.expr.ArrayCreationExpr;
041import japa.parser.ast.expr.ArrayInitializerExpr;
042import japa.parser.ast.expr.AssignExpr;
043import japa.parser.ast.expr.BinaryExpr;
044import japa.parser.ast.expr.BooleanLiteralExpr;
045import japa.parser.ast.expr.CastExpr;
046import japa.parser.ast.expr.CharLiteralExpr;
047import japa.parser.ast.expr.ClassExpr;
048import japa.parser.ast.expr.ConditionalExpr;
049import japa.parser.ast.expr.DoubleLiteralExpr;
050import japa.parser.ast.expr.EnclosedExpr;
051import japa.parser.ast.expr.FieldAccessExpr;
052import japa.parser.ast.expr.InstanceOfExpr;
053import japa.parser.ast.expr.IntegerLiteralExpr;
054import japa.parser.ast.expr.IntegerLiteralMinValueExpr;
055import japa.parser.ast.expr.LongLiteralExpr;
056import japa.parser.ast.expr.LongLiteralMinValueExpr;
057import japa.parser.ast.expr.MarkerAnnotationExpr;
058import japa.parser.ast.expr.MemberValuePair;
059import japa.parser.ast.expr.MethodCallExpr;
060import japa.parser.ast.expr.NameExpr;
061import japa.parser.ast.expr.NormalAnnotationExpr;
062import japa.parser.ast.expr.NullLiteralExpr;
063import japa.parser.ast.expr.ObjectCreationExpr;
064import japa.parser.ast.expr.QualifiedNameExpr;
065import japa.parser.ast.expr.SingleMemberAnnotationExpr;
066import japa.parser.ast.expr.StringLiteralExpr;
067import japa.parser.ast.expr.SuperExpr;
068import japa.parser.ast.expr.ThisExpr;
069import japa.parser.ast.expr.UnaryExpr;
070import japa.parser.ast.expr.VariableDeclarationExpr;
071import japa.parser.ast.stmt.AssertStmt;
072import japa.parser.ast.stmt.BlockStmt;
073import japa.parser.ast.stmt.BreakStmt;
074import japa.parser.ast.stmt.CatchClause;
075import japa.parser.ast.stmt.ContinueStmt;
076import japa.parser.ast.stmt.DoStmt;
077import japa.parser.ast.stmt.EmptyStmt;
078import japa.parser.ast.stmt.ExplicitConstructorInvocationStmt;
079import japa.parser.ast.stmt.ExpressionStmt;
080import japa.parser.ast.stmt.ForStmt;
081import japa.parser.ast.stmt.ForeachStmt;
082import japa.parser.ast.stmt.IfStmt;
083import japa.parser.ast.stmt.LabeledStmt;
084import japa.parser.ast.stmt.ReturnStmt;
085import japa.parser.ast.stmt.SwitchEntryStmt;
086import japa.parser.ast.stmt.SwitchStmt;
087import japa.parser.ast.stmt.SynchronizedStmt;
088import japa.parser.ast.stmt.ThrowStmt;
089import japa.parser.ast.stmt.TryStmt;
090import japa.parser.ast.stmt.TypeDeclarationStmt;
091import japa.parser.ast.stmt.WhileStmt;
092import japa.parser.ast.type.ClassOrInterfaceType;
093import japa.parser.ast.type.PrimitiveType;
094import japa.parser.ast.type.ReferenceType;
095import japa.parser.ast.type.VoidType;
096import japa.parser.ast.type.WildcardType;
097
098public interface VoidVisitorHelper<A> {
099
100    //- Pre Methods ---------------------------------------
101    
102        //- Compilation Unit ----------------------------------
103
104        void visitPre(CompilationUnit n, A arg);
105
106        void visitPre(PackageDeclaration n, A arg);
107
108        void visitPre(ImportDeclaration n, A arg);
109
110        void visitPre(TypeParameter n, A arg);
111
112        void visitPre(LineComment n, A arg);
113
114        void visitPre(BlockComment n, A arg);
115
116        //- Body ----------------------------------------------
117
118        void visitPre(ClassOrInterfaceDeclaration n, A arg);
119
120        void visitPre(EnumDeclaration n, A arg);
121
122        void visitPre(EmptyTypeDeclaration n, A arg);
123
124        void visitPre(EnumConstantDeclaration n, A arg);
125
126        void visitPre(AnnotationDeclaration n, A arg);
127
128        void visitPre(AnnotationMemberDeclaration n, A arg);
129
130        void visitPre(FieldDeclaration n, A arg);
131
132        void visitPre(VariableDeclarator n, A arg);
133
134        void visitPre(VariableDeclaratorId n, A arg);
135
136        void visitPre(ConstructorDeclaration n, A arg);
137
138        void visitPre(MethodDeclaration n, A arg);
139
140        void visitPre(Parameter n, A arg);
141        
142        void visitPre(EmptyMemberDeclaration n, A arg);
143
144        void visitPre(InitializerDeclaration n, A arg);
145
146        void visitPre(JavadocComment n, A arg);
147
148        //- Type ----------------------------------------------
149
150        void visitPre(ClassOrInterfaceType n, A arg);
151
152        void visitPre(PrimitiveType n, A arg);
153
154        void visitPre(ReferenceType n, A arg);
155
156        void visitPre(VoidType n, A arg);
157
158        void visitPre(WildcardType n, A arg);
159
160        //- Expression ----------------------------------------
161
162        void visitPre(ArrayAccessExpr n, A arg);
163
164        void visitPre(ArrayCreationExpr n, A arg);
165
166        void visitPre(ArrayInitializerExpr n, A arg);
167
168        void visitPre(AssignExpr n, A arg);
169
170        void visitPre(BinaryExpr n, A arg);
171
172        void visitPre(CastExpr n, A arg);
173
174        void visitPre(ClassExpr n, A arg);
175
176        void visitPre(ConditionalExpr n, A arg);
177
178        void visitPre(EnclosedExpr n, A arg);
179
180        void visitPre(FieldAccessExpr n, A arg);
181
182        void visitPre(InstanceOfExpr n, A arg);
183
184        void visitPre(StringLiteralExpr n, A arg);
185
186        void visitPre(IntegerLiteralExpr n, A arg);
187
188        void visitPre(LongLiteralExpr n, A arg);
189
190        void visitPre(IntegerLiteralMinValueExpr n, A arg);
191
192        void visitPre(LongLiteralMinValueExpr n, A arg);
193
194        void visitPre(CharLiteralExpr n, A arg);
195
196        void visitPre(DoubleLiteralExpr n, A arg);
197
198        void visitPre(BooleanLiteralExpr n, A arg);
199
200        void visitPre(NullLiteralExpr n, A arg);
201
202        void visitPre(MethodCallExpr n, A arg);
203
204        void visitPre(NameExpr n, A arg);
205
206        void visitPre(ObjectCreationExpr n, A arg);
207
208        void visitPre(QualifiedNameExpr n, A arg);
209
210        void visitPre(ThisExpr n, A arg);
211
212        void visitPre(SuperExpr n, A arg);
213
214        void visitPre(UnaryExpr n, A arg);
215
216        void visitPre(VariableDeclarationExpr n, A arg);
217
218        void visitPre(MarkerAnnotationExpr n, A arg);
219
220        void visitPre(SingleMemberAnnotationExpr n, A arg);
221
222        void visitPre(NormalAnnotationExpr n, A arg);
223
224        void visitPre(MemberValuePair n, A arg);
225
226        //- Statements ----------------------------------------
227
228        void visitPre(ExplicitConstructorInvocationStmt n, A arg);
229
230        void visitPre(TypeDeclarationStmt n, A arg);
231
232        void visitPre(AssertStmt n, A arg);
233
234        void visitPre(BlockStmt n, A arg);
235
236        void visitPre(LabeledStmt n, A arg);
237
238        void visitPre(EmptyStmt n, A arg);
239
240        void visitPre(ExpressionStmt n, A arg);
241
242        void visitPre(SwitchStmt n, A arg);
243
244        void visitPre(SwitchEntryStmt n, A arg);
245
246        void visitPre(BreakStmt n, A arg);
247
248        void visitPre(ReturnStmt n, A arg);
249
250        void visitPre(IfStmt n, A arg);
251
252        void visitPre(WhileStmt n, A arg);
253
254        void visitPre(ContinueStmt n, A arg);
255
256        void visitPre(DoStmt n, A arg);
257
258        void visitPre(ForeachStmt n, A arg);
259
260        void visitPre(ForStmt n, A arg);
261
262        void visitPre(ThrowStmt n, A arg);
263
264        void visitPre(SynchronizedStmt n, A arg);
265
266        void visitPre(TryStmt n, A arg);
267
268        void visitPre(CatchClause n, A arg);
269
270
271    //- Post Methods --------------------------------------
272
273    //- Compilation Unit ----------------------------------
274
275    void visitPost(CompilationUnit n, A arg);
276
277    void visitPost(PackageDeclaration n, A arg);
278
279    void visitPost(ImportDeclaration n, A arg);
280
281    void visitPost(TypeParameter n, A arg);
282
283    void visitPost(LineComment n, A arg);
284
285    void visitPost(BlockComment n, A arg);
286
287    //- Body ----------------------------------------------
288
289    void visitPost(ClassOrInterfaceDeclaration n, A arg);
290
291    void visitPost(EnumDeclaration n, A arg);
292
293    void visitPost(EmptyTypeDeclaration n, A arg);
294
295    void visitPost(EnumConstantDeclaration n, A arg);
296
297    void visitPost(AnnotationDeclaration n, A arg);
298
299    void visitPost(AnnotationMemberDeclaration n, A arg);
300
301    void visitPost(FieldDeclaration n, A arg);
302
303    void visitPost(VariableDeclarator n, A arg);
304
305    void visitPost(VariableDeclaratorId n, A arg);
306
307    void visitPost(ConstructorDeclaration n, A arg);
308
309    void visitPost(MethodDeclaration n, A arg);
310
311    void visitPost(Parameter n, A arg);
312
313    void visitPost(EmptyMemberDeclaration n, A arg);
314
315    void visitPost(InitializerDeclaration n, A arg);
316
317    void visitPost(JavadocComment n, A arg);
318
319    //- Type ----------------------------------------------
320
321    void visitPost(ClassOrInterfaceType n, A arg);
322
323    void visitPost(PrimitiveType n, A arg);
324
325    void visitPost(ReferenceType n, A arg);
326
327    void visitPost(VoidType n, A arg);
328
329    void visitPost(WildcardType n, A arg);
330
331    //- Expression ----------------------------------------
332
333    void visitPost(ArrayAccessExpr n, A arg);
334
335    void visitPost(ArrayCreationExpr n, A arg);
336
337    void visitPost(ArrayInitializerExpr n, A arg);
338
339    void visitPost(AssignExpr n, A arg);
340
341    void visitPost(BinaryExpr n, A arg);
342
343    void visitPost(CastExpr n, A arg);
344
345    void visitPost(ClassExpr n, A arg);
346
347    void visitPost(ConditionalExpr n, A arg);
348
349    void visitPost(EnclosedExpr n, A arg);
350
351    void visitPost(FieldAccessExpr n, A arg);
352
353    void visitPost(InstanceOfExpr n, A arg);
354
355    void visitPost(StringLiteralExpr n, A arg);
356
357    void visitPost(IntegerLiteralExpr n, A arg);
358
359    void visitPost(LongLiteralExpr n, A arg);
360
361    void visitPost(IntegerLiteralMinValueExpr n, A arg);
362
363    void visitPost(LongLiteralMinValueExpr n, A arg);
364
365    void visitPost(CharLiteralExpr n, A arg);
366
367    void visitPost(DoubleLiteralExpr n, A arg);
368
369    void visitPost(BooleanLiteralExpr n, A arg);
370
371    void visitPost(NullLiteralExpr n, A arg);
372
373    void visitPost(MethodCallExpr n, A arg);
374
375    void visitPost(NameExpr n, A arg);
376
377    void visitPost(ObjectCreationExpr n, A arg);
378
379    void visitPost(QualifiedNameExpr n, A arg);
380
381    void visitPost(ThisExpr n, A arg);
382
383    void visitPost(SuperExpr n, A arg);
384
385    void visitPost(UnaryExpr n, A arg);
386
387    void visitPost(VariableDeclarationExpr n, A arg);
388
389    void visitPost(MarkerAnnotationExpr n, A arg);
390
391    void visitPost(SingleMemberAnnotationExpr n, A arg);
392
393    void visitPost(NormalAnnotationExpr n, A arg);
394
395    void visitPost(MemberValuePair n, A arg);
396
397    //- Statements ----------------------------------------
398
399    void visitPost(ExplicitConstructorInvocationStmt n, A arg);
400
401    void visitPost(TypeDeclarationStmt n, A arg);
402
403    void visitPost(AssertStmt n, A arg);
404
405    void visitPost(BlockStmt n, A arg);
406
407    void visitPost(LabeledStmt n, A arg);
408
409    void visitPost(EmptyStmt n, A arg);
410
411    void visitPost(ExpressionStmt n, A arg);
412
413    void visitPost(SwitchStmt n, A arg);
414
415    void visitPost(SwitchEntryStmt n, A arg);
416
417    void visitPost(BreakStmt n, A arg);
418
419    void visitPost(ReturnStmt n, A arg);
420
421    void visitPost(IfStmt n, A arg);
422
423    void visitPost(WhileStmt n, A arg);
424
425    void visitPost(ContinueStmt n, A arg);
426
427    void visitPost(DoStmt n, A arg);
428
429    void visitPost(ForeachStmt n, A arg);
430
431    void visitPost(ForStmt n, A arg);
432
433    void visitPost(ThrowStmt n, A arg);
434
435    void visitPost(SynchronizedStmt n, A arg);
436
437    void visitPost(TryStmt n, A arg);
438
439    void visitPost(CatchClause n, A arg);
440
441}