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