001//
002// Generated by JTB 1.3.2
003//
004
005package jtb.visitor;
006import jtb.syntaxtree.*;
007import java.util.*;
008
009/**
010 * All GJ void visitors must implement this interface.
011 */
012
013public interface GJVoidVisitor<A> {
014
015   //
016   // GJ void Auto class visitors
017   //
018
019   public void visit(NodeList n, A argu);
020   public void visit(NodeListOptional n, A argu);
021   public void visit(NodeOptional n, A argu);
022   public void visit(NodeSequence n, A argu);
023   public void visit(NodeToken n, A argu);
024
025   //
026   // User-generated visitor methods below
027   //
028
029   // f0 -> [ PackageDeclaration() ]
030   // f1 -> ( ImportDeclaration() )*
031   // f2 -> ( TypeDeclaration() )*
032   // f3 -> ( <"\u001a"> )?
033   // f4 -> ( <STUFF_TO_IGNORE: ~[]> )?
034   // f5 -> <EOF>
035   public void visit(CompilationUnit n, A argu);
036
037   // f0 -> Modifiers()
038   // f1 -> "package"
039   // f2 -> Name()
040   // f3 -> ";"
041   public void visit(PackageDeclaration n, A argu);
042
043   // f0 -> "import"
044   // f1 -> [ "static" ]
045   // f2 -> Name()
046   // f3 -> [ "." "*" ]
047   // f4 -> ";"
048   public void visit(ImportDeclaration n, A argu);
049
050   // f0 -> ( ( "public" | "static" | "protected" | "private" | "final" | "abstract" | "synchronized" | "native" | "transient" | "volatile" | "strictfp" | Annotation() ) )*
051   public void visit(Modifiers n, A argu);
052
053   // f0 -> ";"
054   //       | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) )
055   public void visit(TypeDeclaration n, A argu);
056
057   // f0 -> ( "class" | "interface" )
058   // f1 -> <IDENTIFIER>
059   // f2 -> [ TypeParameters() ]
060   // f3 -> [ ExtendsList(isInterface) ]
061   // f4 -> [ ImplementsList(isInterface) ]
062   // f5 -> ClassOrInterfaceBody(isInterface)
063   public void visit(ClassOrInterfaceDeclaration n, A argu);
064
065   // f0 -> "extends"
066   // f1 -> ClassOrInterfaceType()
067   // f2 -> ( "," ClassOrInterfaceType() )*
068   public void visit(ExtendsList n, A argu);
069
070   // f0 -> "implements"
071   // f1 -> ClassOrInterfaceType()
072   // f2 -> ( "," ClassOrInterfaceType() )*
073   public void visit(ImplementsList n, A argu);
074
075   // f0 -> "enum"
076   // f1 -> <IDENTIFIER>
077   // f2 -> [ ImplementsList(false) ]
078   // f3 -> EnumBody()
079   public void visit(EnumDeclaration n, A argu);
080
081   // f0 -> "{"
082   // f1 -> [ EnumConstant() ( "," EnumConstant() )* ]
083   // f2 -> [ "," ]
084   // f3 -> [ ";" ( ClassOrInterfaceBodyDeclaration(false) )* ]
085   // f4 -> "}"
086   public void visit(EnumBody n, A argu);
087
088   // f0 -> Modifiers()
089   // f1 -> <IDENTIFIER>
090   // f2 -> [ Arguments() ]
091   // f3 -> [ ClassOrInterfaceBody(false) ]
092   public void visit(EnumConstant n, A argu);
093
094   // f0 -> "<"
095   // f1 -> TypeParameter()
096   // f2 -> ( "," TypeParameter() )*
097   // f3 -> ">"
098   public void visit(TypeParameters n, A argu);
099
100   // f0 -> <IDENTIFIER>
101   // f1 -> [ TypeBound() ]
102   public void visit(TypeParameter n, A argu);
103
104   // f0 -> "extends"
105   // f1 -> ClassOrInterfaceType()
106   // f2 -> ( "&" ClassOrInterfaceType() )*
107   public void visit(TypeBound n, A argu);
108
109   // f0 -> "{"
110   // f1 -> ( ClassOrInterfaceBodyDeclaration(isInterface) )*
111   // f2 -> "}"
112   public void visit(ClassOrInterfaceBody n, A argu);
113
114   // f0 -> Initializer()
115   //       | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | ConstructorDeclaration() | FieldDeclaration(modifiers) | MethodDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) )
116   //       | ";"
117   public void visit(ClassOrInterfaceBodyDeclaration n, A argu);
118
119   // f0 -> Type()
120   // f1 -> VariableDeclarator()
121   // f2 -> ( "," VariableDeclarator() )*
122   // f3 -> ";"
123   public void visit(FieldDeclaration n, A argu);
124
125   // f0 -> VariableDeclaratorId()
126   // f1 -> [ "=" VariableInitializer() ]
127   public void visit(VariableDeclarator n, A argu);
128
129   // f0 -> <IDENTIFIER>
130   // f1 -> ( "[" "]" )*
131   public void visit(VariableDeclaratorId n, A argu);
132
133   // f0 -> ArrayInitializer()
134   //       | Expression()
135   public void visit(VariableInitializer n, A argu);
136
137   // f0 -> "{"
138   // f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ]
139   // f2 -> [ "," ]
140   // f3 -> "}"
141   public void visit(ArrayInitializer n, A argu);
142
143   // f0 -> [ TypeParameters() ]
144   // f1 -> ResultType()
145   // f2 -> MethodDeclarator()
146   // f3 -> [ "throws" NameList() ]
147   // f4 -> ( Block() | ";" )
148   public void visit(MethodDeclaration n, A argu);
149
150   // f0 -> <IDENTIFIER>
151   // f1 -> FormalParameters()
152   // f2 -> ( "[" "]" )*
153   public void visit(MethodDeclarator n, A argu);
154
155   // f0 -> "("
156   // f1 -> [ FormalParameter() ( "," FormalParameter() )* ]
157   // f2 -> ")"
158   public void visit(FormalParameters n, A argu);
159
160   // f0 -> Modifiers()
161   // f1 -> [ "final" | Annotation() ]
162   // f2 -> Type()
163   // f3 -> [ "..." ]
164   // f4 -> VariableDeclaratorId()
165   public void visit(FormalParameter n, A argu);
166
167   // f0 -> [ TypeParameters() ]
168   // f1 -> <IDENTIFIER>
169   // f2 -> FormalParameters()
170   // f3 -> [ "throws" NameList() ]
171   // f4 -> "{"
172   // f5 -> [ ExplicitConstructorInvocation() ]
173   // f6 -> ( BlockStatement() )*
174   // f7 -> "}"
175   public void visit(ConstructorDeclaration n, A argu);
176
177   // f0 -> [ TypeArguments() ] ( "this" | "super" ) Arguments() ";"
178   //       | PrimaryExpression() "." [ TypeArguments() ] "super" Arguments() ";"
179   public void visit(ExplicitConstructorInvocation n, A argu);
180
181   // f0 -> [ "static" ]
182   // f1 -> Block()
183   public void visit(Initializer n, A argu);
184
185   // f0 -> ReferenceType()
186   //       | PrimitiveType()
187   public void visit(Type n, A argu);
188
189   // f0 -> PrimitiveType() ( "[" "]" )+
190   //       | ( ClassOrInterfaceType() ) ( "[" "]" )*
191   public void visit(ReferenceType n, A argu);
192
193   // f0 -> <IDENTIFIER>
194   // f1 -> [ TypeArguments() ]
195   // f2 -> ( "." <IDENTIFIER> [ TypeArguments() ] )*
196   public void visit(ClassOrInterfaceType n, A argu);
197
198   // f0 -> "<"
199   // f1 -> TypeArgument()
200   // f2 -> ( "," TypeArgument() )*
201   // f3 -> ">"
202   public void visit(TypeArguments n, A argu);
203
204   // f0 -> ReferenceType()
205   //       | "?" [ WildcardBounds() ]
206   public void visit(TypeArgument n, A argu);
207
208   // f0 -> "extends" ReferenceType()
209   //       | "super" ReferenceType()
210   public void visit(WildcardBounds n, A argu);
211
212   // f0 -> "boolean"
213   //       | "char"
214   //       | "byte"
215   //       | "short"
216   //       | "int"
217   //       | "long"
218   //       | "float"
219   //       | "double"
220   public void visit(PrimitiveType n, A argu);
221
222   // f0 -> "void"
223   //       | Type()
224   public void visit(ResultType n, A argu);
225
226   // f0 -> <IDENTIFIER>
227   // f1 -> ( "." <IDENTIFIER> )*
228   public void visit(Name n, A argu);
229
230   // f0 -> Name()
231   // f1 -> ( "," Name() )*
232   public void visit(NameList n, A argu);
233
234   // f0 -> ConditionalExpression()
235   // f1 -> [ AssignmentOperator() Expression() ]
236   public void visit(Expression n, A argu);
237
238   // f0 -> "="
239   //       | "*="
240   //       | "/="
241   //       | "%="
242   //       | "+="
243   //       | "-="
244   //       | "<<="
245   //       | ">>="
246   //       | ">>>="
247   //       | "&="
248   //       | "^="
249   //       | "|="
250   public void visit(AssignmentOperator n, A argu);
251
252   // f0 -> ConditionalOrExpression()
253   // f1 -> [ "?" Expression() ":" Expression() ]
254   public void visit(ConditionalExpression n, A argu);
255
256   // f0 -> ConditionalAndExpression()
257   // f1 -> ( "||" ConditionalAndExpression() )*
258   public void visit(ConditionalOrExpression n, A argu);
259
260   // f0 -> InclusiveOrExpression()
261   // f1 -> ( "&&" InclusiveOrExpression() )*
262   public void visit(ConditionalAndExpression n, A argu);
263
264   // f0 -> ExclusiveOrExpression()
265   // f1 -> ( "|" ExclusiveOrExpression() )*
266   public void visit(InclusiveOrExpression n, A argu);
267
268   // f0 -> AndExpression()
269   // f1 -> ( "^" AndExpression() )*
270   public void visit(ExclusiveOrExpression n, A argu);
271
272   // f0 -> EqualityExpression()
273   // f1 -> ( "&" EqualityExpression() )*
274   public void visit(AndExpression n, A argu);
275
276   // f0 -> InstanceOfExpression()
277   // f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*
278   public void visit(EqualityExpression n, A argu);
279
280   // f0 -> RelationalExpression()
281   // f1 -> [ "instanceof" Type() ]
282   public void visit(InstanceOfExpression n, A argu);
283
284   // f0 -> ShiftExpression()
285   // f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*
286   public void visit(RelationalExpression n, A argu);
287
288   // f0 -> AdditiveExpression()
289   // f1 -> ( ( "<<" | RSIGNEDSHIFT() | RUNSIGNEDSHIFT() ) AdditiveExpression() )*
290   public void visit(ShiftExpression n, A argu);
291
292   // f0 -> MultiplicativeExpression()
293   // f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
294   public void visit(AdditiveExpression n, A argu);
295
296   // f0 -> UnaryExpression()
297   // f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
298   public void visit(MultiplicativeExpression n, A argu);
299
300   // f0 -> ( "+" | "-" ) UnaryExpression()
301   //       | PreIncrementExpression()
302   //       | PreDecrementExpression()
303   //       | UnaryExpressionNotPlusMinus()
304   public void visit(UnaryExpression n, A argu);
305
306   // f0 -> "++"
307   // f1 -> PrimaryExpression()
308   public void visit(PreIncrementExpression n, A argu);
309
310   // f0 -> "--"
311   // f1 -> PrimaryExpression()
312   public void visit(PreDecrementExpression n, A argu);
313
314   // f0 -> ( "~" | "!" ) UnaryExpression()
315   //       | CastExpression()
316   //       | PostfixExpression()
317   public void visit(UnaryExpressionNotPlusMinus n, A argu);
318
319   // f0 -> "(" PrimitiveType()
320   //       | "(" Type() "[" "]"
321   //       | "(" Type() ")" ( "~" | "!" | "(" | <IDENTIFIER> | "this" | "super" | "new" | Literal() )
322   public void visit(CastLookahead n, A argu);
323
324   // f0 -> PrimaryExpression()
325   // f1 -> [ "++" | "--" ]
326   public void visit(PostfixExpression n, A argu);
327
328   // f0 -> "(" Type() ")" UnaryExpression()
329   //       | "(" Type() ")" UnaryExpressionNotPlusMinus()
330   public void visit(CastExpression n, A argu);
331
332   // f0 -> PrimaryPrefix()
333   // f1 -> ( PrimarySuffix() )*
334   public void visit(PrimaryExpression n, A argu);
335
336   // f0 -> "."
337   // f1 -> TypeArguments()
338   // f2 -> <IDENTIFIER>
339   public void visit(MemberSelector n, A argu);
340
341   // f0 -> Literal()
342   //       | ( <IDENTIFIER> "." )* "this"
343   //       | "super" "." <IDENTIFIER>
344   //       | ClassOrInterfaceType() "." "super" "." <IDENTIFIER>
345   //       | "(" Expression() ")"
346   //       | AllocationExpression()
347   //       | ResultType() "." "class"
348   //       | Name()
349   public void visit(PrimaryPrefix n, A argu);
350
351   // f0 -> "." "super"
352   //       | "." "this"
353   //       | "." AllocationExpression()
354   //       | MemberSelector()
355   //       | "[" Expression() "]"
356   //       | "." <IDENTIFIER>
357   //       | Arguments()
358   public void visit(PrimarySuffix n, A argu);
359
360   // f0 -> <INTEGER_LITERAL>
361   //       | <FLOATING_POINT_LITERAL>
362   //       | <CHARACTER_LITERAL>
363   //       | <STRING_LITERAL>
364   //       | BooleanLiteral()
365   //       | NullLiteral()
366   public void visit(Literal n, A argu);
367
368   // f0 -> "true"
369   //       | "false"
370   public void visit(BooleanLiteral n, A argu);
371
372   // f0 -> "null"
373   public void visit(NullLiteral n, A argu);
374
375   // f0 -> "("
376   // f1 -> [ ArgumentList() ]
377   // f2 -> ")"
378   public void visit(Arguments n, A argu);
379
380   // f0 -> Expression()
381   // f1 -> ( "," Expression() )*
382   public void visit(ArgumentList n, A argu);
383
384   // f0 -> "new" PrimitiveType() ArrayDimsAndInits()
385   //       | "new" ClassOrInterfaceType() [ TypeArguments() ] ( ArrayDimsAndInits() | Arguments() [ ClassOrInterfaceBody(false) ] )
386   public void visit(AllocationExpression n, A argu);
387
388   // f0 -> ( "[" Expression() "]" )+ ( "[" "]" )*
389   //       | ( "[" "]" )+ ArrayInitializer()
390   public void visit(ArrayDimsAndInits n, A argu);
391
392   // f0 -> LabeledStatement()
393   //       | AssertStatement()
394   //       | Block()
395   //       | EmptyStatement()
396   //       | StatementExpression() ";"
397   //       | SwitchStatement()
398   //       | IfStatement()
399   //       | WhileStatement()
400   //       | DoStatement()
401   //       | ForStatement()
402   //       | BreakStatement()
403   //       | ContinueStatement()
404   //       | ReturnStatement()
405   //       | ThrowStatement()
406   //       | SynchronizedStatement()
407   //       | TryStatement()
408   public void visit(Statement n, A argu);
409
410   // f0 -> "assert"
411   // f1 -> Expression()
412   // f2 -> [ ":" Expression() ]
413   // f3 -> ";"
414   public void visit(AssertStatement n, A argu);
415
416   // f0 -> <IDENTIFIER>
417   // f1 -> ":"
418   // f2 -> Statement()
419   public void visit(LabeledStatement n, A argu);
420
421   // f0 -> "{"
422   // f1 -> ( BlockStatement() )*
423   // f2 -> "}"
424   public void visit(Block n, A argu);
425
426   // f0 -> LocalVariableDeclaration() ";"
427   //       | Statement()
428   //       | ClassOrInterfaceDeclaration(0)
429   public void visit(BlockStatement n, A argu);
430
431   // f0 -> Modifiers()
432   // f1 -> Type()
433   // f2 -> VariableDeclarator()
434   // f3 -> ( "," VariableDeclarator() )*
435   public void visit(LocalVariableDeclaration n, A argu);
436
437   // f0 -> ";"
438   public void visit(EmptyStatement n, A argu);
439
440   // f0 -> PreIncrementExpression()
441   //       | PreDecrementExpression()
442   //       | PrimaryExpression() [ "++" | "--" | AssignmentOperator() Expression() ]
443   public void visit(StatementExpression n, A argu);
444
445   // f0 -> "switch"
446   // f1 -> "("
447   // f2 -> Expression()
448   // f3 -> ")"
449   // f4 -> "{"
450   // f5 -> ( SwitchLabel() ( BlockStatement() )* )*
451   // f6 -> "}"
452   public void visit(SwitchStatement n, A argu);
453
454   // f0 -> "case" Expression() ":"
455   //       | "default" ":"
456   public void visit(SwitchLabel n, A argu);
457
458   // f0 -> "if"
459   // f1 -> "("
460   // f2 -> Expression()
461   // f3 -> ")"
462   // f4 -> Statement()
463   // f5 -> [ "else" Statement() ]
464   public void visit(IfStatement n, A argu);
465
466   // f0 -> "while"
467   // f1 -> "("
468   // f2 -> Expression()
469   // f3 -> ")"
470   // f4 -> Statement()
471   public void visit(WhileStatement n, A argu);
472
473   // f0 -> "do"
474   // f1 -> Statement()
475   // f2 -> "while"
476   // f3 -> "("
477   // f4 -> Expression()
478   // f5 -> ")"
479   // f6 -> ";"
480   public void visit(DoStatement n, A argu);
481
482   // f0 -> "for"
483   // f1 -> "("
484   // f2 -> ( Modifiers() Type() <IDENTIFIER> ":" Expression() | [ ForInit() ] ";" [ Expression() ] ";" [ ForUpdate() ] )
485   // f3 -> ")"
486   // f4 -> Statement()
487   public void visit(ForStatement n, A argu);
488
489   // f0 -> LocalVariableDeclaration()
490   //       | StatementExpressionList()
491   public void visit(ForInit n, A argu);
492
493   // f0 -> StatementExpression()
494   // f1 -> ( "," StatementExpression() )*
495   public void visit(StatementExpressionList n, A argu);
496
497   // f0 -> StatementExpressionList()
498   public void visit(ForUpdate n, A argu);
499
500   // f0 -> "break"
501   // f1 -> [ <IDENTIFIER> ]
502   // f2 -> ";"
503   public void visit(BreakStatement n, A argu);
504
505   // f0 -> "continue"
506   // f1 -> [ <IDENTIFIER> ]
507   // f2 -> ";"
508   public void visit(ContinueStatement n, A argu);
509
510   // f0 -> "return"
511   // f1 -> [ Expression() ]
512   // f2 -> ";"
513   public void visit(ReturnStatement n, A argu);
514
515   // f0 -> "throw"
516   // f1 -> Expression()
517   // f2 -> ";"
518   public void visit(ThrowStatement n, A argu);
519
520   // f0 -> "synchronized"
521   // f1 -> "("
522   // f2 -> Expression()
523   // f3 -> ")"
524   // f4 -> Block()
525   public void visit(SynchronizedStatement n, A argu);
526
527   // f0 -> "try"
528   // f1 -> Block()
529   // f2 -> ( "catch" "(" FormalParameter() ")" Block() )*
530   // f3 -> [ "finally" Block() ]
531   public void visit(TryStatement n, A argu);
532
533   // f0 -> ( ">" ">" ">" )
534   public void visit(RUNSIGNEDSHIFT n, A argu);
535
536   // f0 -> ( ">" ">" )
537   public void visit(RSIGNEDSHIFT n, A argu);
538
539   // f0 -> NormalAnnotation()
540   //       | SingleMemberAnnotation()
541   //       | MarkerAnnotation()
542   public void visit(Annotation n, A argu);
543
544   // f0 -> "@"
545   // f1 -> Name()
546   // f2 -> "("
547   // f3 -> [ MemberValuePairs() ]
548   // f4 -> ")"
549   public void visit(NormalAnnotation n, A argu);
550
551   // f0 -> "@"
552   // f1 -> Name()
553   public void visit(MarkerAnnotation n, A argu);
554
555   // f0 -> "@"
556   // f1 -> Name()
557   // f2 -> "("
558   // f3 -> MemberValue()
559   // f4 -> ")"
560   public void visit(SingleMemberAnnotation n, A argu);
561
562   // f0 -> MemberValuePair()
563   // f1 -> ( "," MemberValuePair() )*
564   public void visit(MemberValuePairs n, A argu);
565
566   // f0 -> <IDENTIFIER>
567   // f1 -> "="
568   // f2 -> MemberValue()
569   public void visit(MemberValuePair n, A argu);
570
571   // f0 -> Annotation()
572   //       | MemberValueArrayInitializer()
573   //       | ConditionalExpression()
574   public void visit(MemberValue n, A argu);
575
576   // f0 -> "{"
577   // f1 -> ( MemberValue() ( "," MemberValue() )* [ "," ] )?
578   // f2 -> "}"
579   public void visit(MemberValueArrayInitializer n, A argu);
580
581   // f0 -> "@"
582   // f1 -> "interface"
583   // f2 -> <IDENTIFIER>
584   // f3 -> AnnotationTypeBody()
585   public void visit(AnnotationTypeDeclaration n, A argu);
586
587   // f0 -> "{"
588   // f1 -> ( AnnotationTypeMemberDeclaration() )*
589   // f2 -> "}"
590   public void visit(AnnotationTypeBody n, A argu);
591
592   // f0 -> Modifiers() ( Type() <IDENTIFIER> "(" ")" [ DefaultValue() ] ";" | ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) | FieldDeclaration(modifiers) )
593   //       | ( ";" )
594   public void visit(AnnotationTypeMemberDeclaration n, A argu);
595
596   // f0 -> "default"
597   // f1 -> MemberValue()
598   public void visit(DefaultValue n, A argu);
599
600}
601