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