001    //
002    // Generated by JTB 1.3.2
003    //
004    
005    package jtb.visitor;
006    import jtb.syntaxtree.*;
007    import java.util.*;
008    
009    /**
010     * All GJ visitors with no argument must implement this interface.
011     */
012    
013    public interface GJNoArguVisitor<R> {
014    
015       //
016       // GJ Auto class visitors with no argument
017       //
018    
019       public R visit(NodeList n);
020       public R visit(NodeListOptional n);
021       public R visit(NodeOptional n);
022       public R visit(NodeSequence n);
023       public R visit(NodeToken n);
024    
025       //
026       // User-generated visitor methods below
027       //
028    
029       /**
030        * f0 -> [ PackageDeclaration() ]
031        * f1 -> ( ImportDeclaration() )*
032        * f2 -> ( TypeDeclaration() )*
033        * f3 -> <EOF>
034        */
035       public R visit(CompilationUnit n);
036    
037       /**
038        * f0 -> "package"
039        * f1 -> Name()
040        * f2 -> ";"
041        */
042       public R visit(PackageDeclaration n);
043    
044       /**
045        * f0 -> "import"
046        * f1 -> [ "static" ]
047        * f2 -> Name()
048        * f3 -> [ "." "*" ]
049        * f4 -> ";"
050        */
051       public R visit(ImportDeclaration n);
052    
053       /**
054        * f0 -> ( ( "public" | "static" | "protected" | "private" | "final" | "abstract" | "synchronized" | "native" | "transient" | "volatile" | "strictfp" | Annotation() ) )*
055        */
056       public R visit(Modifiers n);
057    
058       /**
059        * f0 -> ";"
060        *       | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) )
061        */
062       public R visit(TypeDeclaration n);
063    
064       /**
065        * f0 -> ( "class" | "interface" )
066        * f1 -> <IDENTIFIER>
067        * f2 -> [ TypeParameters() ]
068        * f3 -> [ ExtendsList(isInterface) ]
069        * f4 -> [ ImplementsList(isInterface) ]
070        * f5 -> ClassOrInterfaceBody(isInterface)
071        */
072       public R visit(ClassOrInterfaceDeclaration n);
073    
074       /**
075        * f0 -> "extends"
076        * f1 -> ClassOrInterfaceType()
077        * f2 -> ( "," ClassOrInterfaceType() )*
078        */
079       public R visit(ExtendsList n);
080    
081       /**
082        * f0 -> "implements"
083        * f1 -> ClassOrInterfaceType()
084        * f2 -> ( "," ClassOrInterfaceType() )*
085        */
086       public R visit(ImplementsList n);
087    
088       /**
089        * f0 -> "enum"
090        * f1 -> <IDENTIFIER>
091        * f2 -> [ ImplementsList(false) ]
092        * f3 -> EnumBody()
093        */
094       public R visit(EnumDeclaration n);
095    
096       /**
097        * f0 -> "{"
098        * f1 -> [ EnumConstant() ( "," EnumConstant() )* ]
099        * f2 -> [ "," ]
100        * f3 -> [ ";" ( ClassOrInterfaceBodyDeclaration(false) )* ]
101        * f4 -> "}"
102        */
103       public R visit(EnumBody n);
104    
105       /**
106        * f0 -> <IDENTIFIER>
107        * f1 -> [ Arguments() ]
108        * f2 -> [ ClassOrInterfaceBody(false) ]
109        */
110       public R visit(EnumConstant n);
111    
112       /**
113        * f0 -> "<"
114        * f1 -> TypeParameter()
115        * f2 -> ( "," TypeParameter() )*
116        * f3 -> ">"
117        */
118       public R visit(TypeParameters n);
119    
120       /**
121        * f0 -> <IDENTIFIER>
122        * f1 -> [ TypeBound() ]
123        */
124       public R visit(TypeParameter n);
125    
126       /**
127        * f0 -> "extends"
128        * f1 -> ClassOrInterfaceType()
129        * f2 -> ( "&" ClassOrInterfaceType() )*
130        */
131       public R visit(TypeBound n);
132    
133       /**
134        * f0 -> "{"
135        * f1 -> ( ClassOrInterfaceBodyDeclaration(isInterface) )*
136        * f2 -> "}"
137        */
138       public R visit(ClassOrInterfaceBody n);
139    
140       /**
141        * f0 -> Initializer()
142        *       | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | ConstructorDeclaration() | FieldDeclaration(modifiers) | MethodDeclaration(modifiers) )
143        *       | ";"
144        */
145       public R visit(ClassOrInterfaceBodyDeclaration n);
146    
147       /**
148        * f0 -> Type()
149        * f1 -> VariableDeclarator()
150        * f2 -> ( "," VariableDeclarator() )*
151        * f3 -> ";"
152        */
153       public R visit(FieldDeclaration n);
154    
155       /**
156        * f0 -> VariableDeclaratorId()
157        * f1 -> [ "=" VariableInitializer() ]
158        */
159       public R visit(VariableDeclarator n);
160    
161       /**
162        * f0 -> <IDENTIFIER>
163        * f1 -> ( "[" "]" )*
164        */
165       public R visit(VariableDeclaratorId n);
166    
167       /**
168        * f0 -> ArrayInitializer()
169        *       | Expression()
170        */
171       public R visit(VariableInitializer n);
172    
173       /**
174        * f0 -> "{"
175        * f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ]
176        * f2 -> [ "," ]
177        * f3 -> "}"
178        */
179       public R visit(ArrayInitializer n);
180    
181       /**
182        * f0 -> [ TypeParameters() ]
183        * f1 -> ResultType()
184        * f2 -> MethodDeclarator()
185        * f3 -> [ "throws" NameList() ]
186        * f4 -> ( Block() | ";" )
187        */
188       public R visit(MethodDeclaration n);
189    
190       /**
191        * f0 -> <IDENTIFIER>
192        * f1 -> FormalParameters()
193        * f2 -> ( "[" "]" )*
194        */
195       public R visit(MethodDeclarator n);
196    
197       /**
198        * f0 -> "("
199        * f1 -> [ FormalParameter() ( "," FormalParameter() )* ]
200        * f2 -> ")"
201        */
202       public R visit(FormalParameters n);
203    
204       /**
205        * f0 -> [ "final" ]
206        * f1 -> Type()
207        * f2 -> [ "..." ]
208        * f3 -> VariableDeclaratorId()
209        */
210       public R visit(FormalParameter n);
211    
212       /**
213        * f0 -> [ TypeParameters() ]
214        * f1 -> <IDENTIFIER>
215        * f2 -> FormalParameters()
216        * f3 -> [ "throws" NameList() ]
217        * f4 -> "{"
218        * f5 -> [ ExplicitConstructorInvocation() ]
219        * f6 -> ( BlockStatement() )*
220        * f7 -> "}"
221        */
222       public R visit(ConstructorDeclaration n);
223    
224       /**
225        * f0 -> "this" Arguments() ";"
226        *       | [ PrimaryExpression() "." ] "super" Arguments() ";"
227        */
228       public R visit(ExplicitConstructorInvocation n);
229    
230       /**
231        * f0 -> [ "static" ]
232        * f1 -> Block()
233        */
234       public R visit(Initializer n);
235    
236       /**
237        * f0 -> ReferenceType()
238        *       | PrimitiveType()
239        */
240       public R visit(Type n);
241    
242       /**
243        * f0 -> PrimitiveType() ( "[" "]" )+
244        *       | ( ClassOrInterfaceType() ) ( "[" "]" )*
245        */
246       public R visit(ReferenceType n);
247    
248       /**
249        * f0 -> <IDENTIFIER>
250        * f1 -> [ TypeArguments() ]
251        * f2 -> ( "." <IDENTIFIER> [ TypeArguments() ] )*
252        */
253       public R visit(ClassOrInterfaceType n);
254    
255       /**
256        * f0 -> "<"
257        * f1 -> TypeArgument()
258        * f2 -> ( "," TypeArgument() )*
259        * f3 -> ">"
260        */
261       public R visit(TypeArguments n);
262    
263       /**
264        * f0 -> ReferenceType()
265        *       | "?" [ WildcardBounds() ]
266        */
267       public R visit(TypeArgument n);
268    
269       /**
270        * f0 -> "extends" ReferenceType()
271        *       | "super" ReferenceType()
272        */
273       public R visit(WildcardBounds n);
274    
275       /**
276        * f0 -> "boolean"
277        *       | "char"
278        *       | "byte"
279        *       | "short"
280        *       | "int"
281        *       | "long"
282        *       | "float"
283        *       | "double"
284        */
285       public R visit(PrimitiveType n);
286    
287       /**
288        * f0 -> "void"
289        *       | Type()
290        */
291       public R visit(ResultType n);
292    
293       /**
294        * f0 -> <IDENTIFIER>
295        * f1 -> ( "." <IDENTIFIER> )*
296        */
297       public R visit(Name n);
298    
299       /**
300        * f0 -> Name()
301        * f1 -> ( "," Name() )*
302        */
303       public R visit(NameList n);
304    
305       /**
306        * f0 -> ConditionalExpression()
307        * f1 -> [ AssignmentOperator() Expression() ]
308        */
309       public R visit(Expression n);
310    
311       /**
312        * f0 -> "="
313        *       | "*="
314        *       | "/="
315        *       | "%="
316        *       | "+="
317        *       | "-="
318        *       | "<<="
319        *       | ">>="
320        *       | ">>>="
321        *       | "&="
322        *       | "^="
323        *       | "|="
324        */
325       public R visit(AssignmentOperator n);
326    
327       /**
328        * f0 -> ConditionalOrExpression()
329        * f1 -> [ "?" Expression() ":" Expression() ]
330        */
331       public R visit(ConditionalExpression n);
332    
333       /**
334        * f0 -> ConditionalAndExpression()
335        * f1 -> ( "||" ConditionalAndExpression() )*
336        */
337       public R visit(ConditionalOrExpression n);
338    
339       /**
340        * f0 -> InclusiveOrExpression()
341        * f1 -> ( "&&" InclusiveOrExpression() )*
342        */
343       public R visit(ConditionalAndExpression n);
344    
345       /**
346        * f0 -> ExclusiveOrExpression()
347        * f1 -> ( "|" ExclusiveOrExpression() )*
348        */
349       public R visit(InclusiveOrExpression n);
350    
351       /**
352        * f0 -> AndExpression()
353        * f1 -> ( "^" AndExpression() )*
354        */
355       public R visit(ExclusiveOrExpression n);
356    
357       /**
358        * f0 -> EqualityExpression()
359        * f1 -> ( "&" EqualityExpression() )*
360        */
361       public R visit(AndExpression n);
362    
363       /**
364        * f0 -> InstanceOfExpression()
365        * f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*
366        */
367       public R visit(EqualityExpression n);
368    
369       /**
370        * f0 -> RelationalExpression()
371        * f1 -> [ "instanceof" Type() ]
372        */
373       public R visit(InstanceOfExpression n);
374    
375       /**
376        * f0 -> ShiftExpression()
377        * f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*
378        */
379       public R visit(RelationalExpression n);
380    
381       /**
382        * f0 -> AdditiveExpression()
383        * f1 -> ( ( "<<" | RSIGNEDSHIFT() | RUNSIGNEDSHIFT() ) AdditiveExpression() )*
384        */
385       public R visit(ShiftExpression n);
386    
387       /**
388        * f0 -> MultiplicativeExpression()
389        * f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
390        */
391       public R visit(AdditiveExpression n);
392    
393       /**
394        * f0 -> UnaryExpression()
395        * f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
396        */
397       public R visit(MultiplicativeExpression n);
398    
399       /**
400        * f0 -> ( "+" | "-" ) UnaryExpression()
401        *       | PreIncrementExpression()
402        *       | PreDecrementExpression()
403        *       | UnaryExpressionNotPlusMinus()
404        */
405       public R visit(UnaryExpression n);
406    
407       /**
408        * f0 -> "++"
409        * f1 -> PrimaryExpression()
410        */
411       public R visit(PreIncrementExpression n);
412    
413       /**
414        * f0 -> "--"
415        * f1 -> PrimaryExpression()
416        */
417       public R visit(PreDecrementExpression n);
418    
419       /**
420        * f0 -> ( "~" | "!" ) UnaryExpression()
421        *       | CastExpression()
422        *       | PostfixExpression()
423        */
424       public R visit(UnaryExpressionNotPlusMinus n);
425    
426       /**
427        * f0 -> "(" PrimitiveType()
428        *       | "(" Type() "[" "]"
429        *       | "(" Type() ")" ( "~" | "!" | "(" | <IDENTIFIER> | "this" | "super" | "new" | Literal() )
430        */
431       public R visit(CastLookahead n);
432    
433       /**
434        * f0 -> PrimaryExpression()
435        * f1 -> [ "++" | "--" ]
436        */
437       public R visit(PostfixExpression n);
438    
439       /**
440        * f0 -> "(" Type() ")" UnaryExpression()
441        *       | "(" Type() ")" UnaryExpressionNotPlusMinus()
442        */
443       public R visit(CastExpression n);
444    
445       /**
446        * f0 -> PrimaryPrefix()
447        * f1 -> ( PrimarySuffix() )*
448        */
449       public R visit(PrimaryExpression n);
450    
451       /**
452        * f0 -> "."
453        * f1 -> TypeArguments()
454        * f2 -> <IDENTIFIER>
455        */
456       public R visit(MemberSelector n);
457    
458       /**
459        * f0 -> Literal()
460        *       | "this"
461        *       | "super" "." <IDENTIFIER>
462        *       | "(" Expression() ")"
463        *       | AllocationExpression()
464        *       | ResultType() "." "class"
465        *       | Name()
466        */
467       public R visit(PrimaryPrefix n);
468    
469       /**
470        * f0 -> "." "this"
471        *       | "." "super"
472        *       | "." AllocationExpression()
473        *       | MemberSelector()
474        *       | "[" Expression() "]"
475        *       | "." <IDENTIFIER>
476        *       | Arguments()
477        */
478       public R visit(PrimarySuffix n);
479    
480       /**
481        * f0 -> <INTEGER_LITERAL>
482        *       | <FLOATING_POINT_LITERAL>
483        *       | <CHARACTER_LITERAL>
484        *       | <STRING_LITERAL>
485        *       | BooleanLiteral()
486        *       | NullLiteral()
487        */
488       public R visit(Literal n);
489    
490       /**
491        * f0 -> "true"
492        *       | "false"
493        */
494       public R visit(BooleanLiteral n);
495    
496       /**
497        * f0 -> "null"
498        */
499       public R visit(NullLiteral n);
500    
501       /**
502        * f0 -> "("
503        * f1 -> [ ArgumentList() ]
504        * f2 -> ")"
505        */
506       public R visit(Arguments n);
507    
508       /**
509        * f0 -> Expression()
510        * f1 -> ( "," Expression() )*
511        */
512       public R visit(ArgumentList n);
513    
514       /**
515        * f0 -> "new" PrimitiveType() ArrayDimsAndInits()
516        *       | "new" ClassOrInterfaceType() [ TypeArguments() ] ( ArrayDimsAndInits() | Arguments() [ ClassOrInterfaceBody(false) ] )
517        */
518       public R visit(AllocationExpression n);
519    
520       /**
521        * f0 -> ( "[" Expression() "]" )+ ( "[" "]" )*
522        *       | ( "[" "]" )+ ArrayInitializer()
523        */
524       public R visit(ArrayDimsAndInits n);
525    
526       /**
527        * f0 -> LabeledStatement()
528        *       | AssertStatement()
529        *       | Block()
530        *       | EmptyStatement()
531        *       | StatementExpression() ";"
532        *       | SwitchStatement()
533        *       | IfStatement()
534        *       | WhileStatement()
535        *       | DoStatement()
536        *       | ForStatement()
537        *       | BreakStatement()
538        *       | ContinueStatement()
539        *       | ReturnStatement()
540        *       | ThrowStatement()
541        *       | SynchronizedStatement()
542        *       | TryStatement()
543        */
544       public R visit(Statement n);
545    
546       /**
547        * f0 -> "assert"
548        * f1 -> Expression()
549        * f2 -> [ ":" Expression() ]
550        * f3 -> ";"
551        */
552       public R visit(AssertStatement n);
553    
554       /**
555        * f0 -> <IDENTIFIER>
556        * f1 -> ":"
557        * f2 -> Statement()
558        */
559       public R visit(LabeledStatement n);
560    
561       /**
562        * f0 -> "{"
563        * f1 -> ( BlockStatement() )*
564        * f2 -> "}"
565        */
566       public R visit(Block n);
567    
568       /**
569        * f0 -> LocalVariableDeclaration() ";"
570        *       | Statement()
571        *       | ClassOrInterfaceDeclaration(0)
572        */
573       public R visit(BlockStatement n);
574    
575       /**
576        * f0 -> [ "final" ]
577        * f1 -> Type()
578        * f2 -> VariableDeclarator()
579        * f3 -> ( "," VariableDeclarator() )*
580        */
581       public R visit(LocalVariableDeclaration n);
582    
583       /**
584        * f0 -> ";"
585        */
586       public R visit(EmptyStatement n);
587    
588       /**
589        * f0 -> PreIncrementExpression()
590        *       | PreDecrementExpression()
591        *       | PrimaryExpression() [ "++" | "--" | AssignmentOperator() Expression() ]
592        */
593       public R visit(StatementExpression n);
594    
595       /**
596        * f0 -> "switch"
597        * f1 -> "("
598        * f2 -> Expression()
599        * f3 -> ")"
600        * f4 -> "{"
601        * f5 -> ( SwitchLabel() ( BlockStatement() )* )*
602        * f6 -> "}"
603        */
604       public R visit(SwitchStatement n);
605    
606       /**
607        * f0 -> "case" Expression() ":"
608        *       | "default" ":"
609        */
610       public R visit(SwitchLabel n);
611    
612       /**
613        * f0 -> "if"
614        * f1 -> "("
615        * f2 -> Expression()
616        * f3 -> ")"
617        * f4 -> Statement()
618        * f5 -> [ "else" Statement() ]
619        */
620       public R visit(IfStatement n);
621    
622       /**
623        * f0 -> "while"
624        * f1 -> "("
625        * f2 -> Expression()
626        * f3 -> ")"
627        * f4 -> Statement()
628        */
629       public R visit(WhileStatement n);
630    
631       /**
632        * f0 -> "do"
633        * f1 -> Statement()
634        * f2 -> "while"
635        * f3 -> "("
636        * f4 -> Expression()
637        * f5 -> ")"
638        * f6 -> ";"
639        */
640       public R visit(DoStatement n);
641    
642       /**
643        * f0 -> "for"
644        * f1 -> "("
645        * f2 -> ( Type() <IDENTIFIER> ":" Expression() | [ ForInit() ] ";" [ Expression() ] ";" [ ForUpdate() ] )
646        * f3 -> ")"
647        * f4 -> Statement()
648        */
649       public R visit(ForStatement n);
650    
651       /**
652        * f0 -> LocalVariableDeclaration()
653        *       | StatementExpressionList()
654        */
655       public R visit(ForInit n);
656    
657       /**
658        * f0 -> StatementExpression()
659        * f1 -> ( "," StatementExpression() )*
660        */
661       public R visit(StatementExpressionList n);
662    
663       /**
664        * f0 -> StatementExpressionList()
665        */
666       public R visit(ForUpdate n);
667    
668       /**
669        * f0 -> "break"
670        * f1 -> [ <IDENTIFIER> ]
671        * f2 -> ";"
672        */
673       public R visit(BreakStatement n);
674    
675       /**
676        * f0 -> "continue"
677        * f1 -> [ <IDENTIFIER> ]
678        * f2 -> ";"
679        */
680       public R visit(ContinueStatement n);
681    
682       /**
683        * f0 -> "return"
684        * f1 -> [ Expression() ]
685        * f2 -> ";"
686        */
687       public R visit(ReturnStatement n);
688    
689       /**
690        * f0 -> "throw"
691        * f1 -> Expression()
692        * f2 -> ";"
693        */
694       public R visit(ThrowStatement n);
695    
696       /**
697        * f0 -> "synchronized"
698        * f1 -> "("
699        * f2 -> Expression()
700        * f3 -> ")"
701        * f4 -> Block()
702        */
703       public R visit(SynchronizedStatement n);
704    
705       /**
706        * f0 -> "try"
707        * f1 -> Block()
708        * f2 -> ( "catch" "(" FormalParameter() ")" Block() )*
709        * f3 -> [ "finally" Block() ]
710        */
711       public R visit(TryStatement n);
712    
713       /**
714        * f0 -> ( ">" ">" ">" )
715        */
716       public R visit(RUNSIGNEDSHIFT n);
717    
718       /**
719        * f0 -> ( ">" ">" )
720        */
721       public R visit(RSIGNEDSHIFT n);
722    
723       /**
724        * f0 -> NormalAnnotation()
725        *       | SingleMemberAnnotation()
726        *       | MarkerAnnotation()
727        */
728       public R visit(Annotation n);
729    
730       /**
731        * f0 -> "@"
732        * f1 -> Name()
733        * f2 -> "("
734        * f3 -> [ MemberValuePairs() ]
735        * f4 -> ")"
736        */
737       public R visit(NormalAnnotation n);
738    
739       /**
740        * f0 -> "@"
741        * f1 -> Name()
742        */
743       public R visit(MarkerAnnotation n);
744    
745       /**
746        * f0 -> "@"
747        * f1 -> Name()
748        * f2 -> "("
749        * f3 -> MemberValue()
750        * f4 -> ")"
751        */
752       public R visit(SingleMemberAnnotation n);
753    
754       /**
755        * f0 -> MemberValuePair()
756        * f1 -> ( "," MemberValuePair() )*
757        */
758       public R visit(MemberValuePairs n);
759    
760       /**
761        * f0 -> <IDENTIFIER>
762        * f1 -> "="
763        * f2 -> MemberValue()
764        */
765       public R visit(MemberValuePair n);
766    
767       /**
768        * f0 -> Annotation()
769        *       | MemberValueArrayInitializer()
770        *       | ConditionalExpression()
771        */
772       public R visit(MemberValue n);
773    
774       /**
775        * f0 -> "{"
776        * f1 -> MemberValue()
777        * f2 -> ( "," MemberValue() )*
778        * f3 -> [ "," ]
779        * f4 -> "}"
780        */
781       public R visit(MemberValueArrayInitializer n);
782    
783       /**
784        * f0 -> "@"
785        * f1 -> "interface"
786        * f2 -> <IDENTIFIER>
787        * f3 -> AnnotationTypeBody()
788        */
789       public R visit(AnnotationTypeDeclaration n);
790    
791       /**
792        * f0 -> "{"
793        * f1 -> ( AnnotationTypeMemberDeclaration() )*
794        * f2 -> "}"
795        */
796       public R visit(AnnotationTypeBody n);
797    
798       /**
799        * f0 -> Modifiers() ( Type() <IDENTIFIER> "(" ")" [ DefaultValue() ] ";" | ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) | FieldDeclaration(modifiers) )
800        *       | ( ";" )
801        */
802       public R visit(AnnotationTypeMemberDeclaration n);
803    
804       /**
805        * f0 -> "default"
806        * f1 -> MemberValue()
807        */
808       public R visit(DefaultValue n);
809    
810    }
811