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