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