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