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