| 1 11 12 package org.eclipse.jdt.core.dom; 13 14 import java.util.AbstractList ; 15 import java.util.ArrayList ; 16 import java.util.Collections ; 17 import java.util.HashMap ; 18 import java.util.Iterator ; 19 import java.util.List ; 20 import java.util.Map ; 21 22 121 public abstract class ASTNode { 122 156 157 162 public static final int ANONYMOUS_CLASS_DECLARATION = 1; 163 164 169 public static final int ARRAY_ACCESS = 2; 170 171 176 public static final int ARRAY_CREATION = 3; 177 178 183 public static final int ARRAY_INITIALIZER = 4; 184 185 190 public static final int ARRAY_TYPE = 5; 191 192 197 public static final int ASSERT_STATEMENT = 6; 198 199 204 public static final int ASSIGNMENT = 7; 205 206 211 public static final int BLOCK = 8; 212 213 218 public static final int BOOLEAN_LITERAL = 9; 219 220 225 public static final int BREAK_STATEMENT = 10; 226 227 232 public static final int CAST_EXPRESSION = 11; 233 234 239 public static final int CATCH_CLAUSE = 12; 240 241 246 public static final int CHARACTER_LITERAL = 13; 247 248 253 public static final int CLASS_INSTANCE_CREATION = 14; 254 255 260 public static final int COMPILATION_UNIT = 15; 261 262 267 public static final int CONDITIONAL_EXPRESSION = 16; 268 269 274 public static final int CONSTRUCTOR_INVOCATION = 17; 275 276 281 public static final int CONTINUE_STATEMENT = 18; 282 283 288 public static final int DO_STATEMENT = 19; 289 290 295 public static final int EMPTY_STATEMENT = 20; 296 297 302 public static final int EXPRESSION_STATEMENT = 21; 303 304 309 public static final int FIELD_ACCESS = 22; 310 311 316 public static final int FIELD_DECLARATION = 23; 317 318 323 public static final int FOR_STATEMENT = 24; 324 325 330 public static final int IF_STATEMENT = 25; 331 332 337 public static final int IMPORT_DECLARATION = 26; 338 339 344 public static final int INFIX_EXPRESSION = 27; 345 346 351 public static final int INITIALIZER = 28; 352 353 358 public static final int JAVADOC = 29; 359 360 365 public static final int LABELED_STATEMENT = 30; 366 367 372 public static final int METHOD_DECLARATION = 31; 373 374 379 public static final int METHOD_INVOCATION = 32; 380 381 386 public static final int NULL_LITERAL = 33; 387 388 393 public static final int NUMBER_LITERAL = 34; 394 395 400 public static final int PACKAGE_DECLARATION = 35; 401 402 407 public static final int PARENTHESIZED_EXPRESSION = 36; 408 409 414 public static final int POSTFIX_EXPRESSION = 37; 415 416 421 public static final int PREFIX_EXPRESSION = 38; 422 423 428 public static final int PRIMITIVE_TYPE = 39; 429 430 435 public static final int QUALIFIED_NAME = 40; 436 437 442 public static final int RETURN_STATEMENT = 41; 443 444 449 public static final int SIMPLE_NAME = 42; 450 451 456 public static final int SIMPLE_TYPE = 43; 457 458 463 public static final int SINGLE_VARIABLE_DECLARATION = 44; 464 465 470 public static final int STRING_LITERAL = 45; 471 472 477 public static final int SUPER_CONSTRUCTOR_INVOCATION = 46; 478 479 484 public static final int SUPER_FIELD_ACCESS = 47; 485 486 491 public static final int SUPER_METHOD_INVOCATION = 48; 492 493 498 public static final int SWITCH_CASE = 49; 499 500 505 public static final int SWITCH_STATEMENT = 50; 506 507 512 public static final int SYNCHRONIZED_STATEMENT = 51; 513 514 519 public static final int THIS_EXPRESSION = 52; 520 521 526 public static final int THROW_STATEMENT = 53; 527 528 533 public static final int TRY_STATEMENT = 54; 534 535 540 public static final int TYPE_DECLARATION = 55; 541 542 547 public static final int TYPE_DECLARATION_STATEMENT = 56; 548 549 554 public static final int TYPE_LITERAL = 57; 555 556 561 public static final int VARIABLE_DECLARATION_EXPRESSION = 58; 562 563 568 public static final int VARIABLE_DECLARATION_FRAGMENT = 59; 569 570 575 public static final int VARIABLE_DECLARATION_STATEMENT = 60; 576 577 582 public static final int WHILE_STATEMENT = 61; 583 584 589 public static final int INSTANCEOF_EXPRESSION = 62; 590 591 597 public static final int LINE_COMMENT = 63; 598 599 605 public static final int BLOCK_COMMENT = 64; 606 607 613 public static final int TAG_ELEMENT = 65; 614 615 621 public static final int TEXT_ELEMENT = 66; 622 623 629 public static final int MEMBER_REF = 67; 630 631 637 public static final int METHOD_REF = 68; 638 639 645 public static final int METHOD_REF_PARAMETER = 69; 646 647 653 public static final int ENHANCED_FOR_STATEMENT = 70; 654 655 661 public static final int ENUM_DECLARATION = 71; 662 663 669 public static final int ENUM_CONSTANT_DECLARATION = 72; 670 671 677 public static final int TYPE_PARAMETER = 73; 678 679 685 public static final int PARAMETERIZED_TYPE = 74; 686 687 693 public static final int QUALIFIED_TYPE = 75; 694 695 701 public static final int WILDCARD_TYPE = 76; 702 703 709 public static final int NORMAL_ANNOTATION = 77; 710 711 717 public static final int MARKER_ANNOTATION = 78; 718 719 725 public static final int SINGLE_MEMBER_ANNOTATION = 79; 726 727 733 public static final int MEMBER_VALUE_PAIR = 80; 734 735 741 public static final int ANNOTATION_TYPE_DECLARATION = 81; 742 743 749 public static final int ANNOTATION_TYPE_MEMBER_DECLARATION = 82; 750 751 757 public static final int MODIFIER = 83; 758 759 769 public static Class nodeClassForType(int nodeType) { 770 switch (nodeType) { 771 case ANNOTATION_TYPE_DECLARATION : 772 return AnnotationTypeDeclaration.class; 773 case ANNOTATION_TYPE_MEMBER_DECLARATION : 774 return AnnotationTypeMemberDeclaration.class; 775 case ANONYMOUS_CLASS_DECLARATION : 776 return AnonymousClassDeclaration.class; 777 case ARRAY_ACCESS : 778 return ArrayAccess.class; 779 case ARRAY_CREATION : 780 return ArrayCreation.class; 781 case ARRAY_INITIALIZER : 782 return ArrayInitializer.class; 783 case ARRAY_TYPE : 784 return ArrayType.class; 785 case ASSERT_STATEMENT : 786 return AssertStatement.class; 787 case ASSIGNMENT : 788 return Assignment.class; 789 case BLOCK : 790 return Block.class; 791 case BLOCK_COMMENT : 792 return BlockComment.class; 793 case BOOLEAN_LITERAL : 794 return BooleanLiteral.class; 795 case BREAK_STATEMENT : 796 return BreakStatement.class; 797 case CAST_EXPRESSION : 798 return CastExpression.class; 799 case CATCH_CLAUSE : 800 return CatchClause.class; 801 case CHARACTER_LITERAL : 802 return CharacterLiteral.class; 803 case CLASS_INSTANCE_CREATION : 804 return ClassInstanceCreation.class; 805 case COMPILATION_UNIT : 806 return CompilationUnit.class; 807 case CONDITIONAL_EXPRESSION : 808 return ConditionalExpression.class; 809 case CONSTRUCTOR_INVOCATION : 810 return ConstructorInvocation.class; 811 case CONTINUE_STATEMENT : 812 return ContinueStatement.class; 813 case DO_STATEMENT : 814 return DoStatement.class; 815 case EMPTY_STATEMENT : 816 return EmptyStatement.class; 817 case ENHANCED_FOR_STATEMENT : 818 return EnhancedForStatement.class; 819 case ENUM_CONSTANT_DECLARATION : 820 return EnumConstantDeclaration.class; 821 case ENUM_DECLARATION : 822 return EnumDeclaration.class; 823 case EXPRESSION_STATEMENT : 824 return ExpressionStatement.class; 825 case FIELD_ACCESS : 826 return FieldAccess.class; 827 case FIELD_DECLARATION : 828 return FieldDeclaration.class; 829 case FOR_STATEMENT : 830 return ForStatement.class; 831 case IF_STATEMENT : 832 return IfStatement.class; 833 case IMPORT_DECLARATION : 834 return ImportDeclaration.class; 835 case INFIX_EXPRESSION : 836 return InfixExpression.class; 837 case INITIALIZER : 838 return Initializer.class; 839 case INSTANCEOF_EXPRESSION : 840 return InstanceofExpression.class; 841 case JAVADOC : 842 return Javadoc.class; 843 case LABELED_STATEMENT : 844 return LabeledStatement.class; 845 case LINE_COMMENT : 846 return LineComment.class; 847 case MARKER_ANNOTATION : 848 return MarkerAnnotation.class; 849 case MEMBER_REF : 850 return MemberRef.class; 851 case MEMBER_VALUE_PAIR : 852 return MemberValuePair.class; 853 case METHOD_DECLARATION : 854 return MethodDeclaration.class; 855 case METHOD_INVOCATION : 856 return MethodInvocation.class; 857 case METHOD_REF : 858 return MethodRef.class; 859 case METHOD_REF_PARAMETER : 860 return MethodRefParameter.class; 861 case MODIFIER : 862 return Modifier.class; 863 case NORMAL_ANNOTATION : 864 return NormalAnnotation.class; 865 case NULL_LITERAL : 866 return NullLiteral.class; 867 case NUMBER_LITERAL : 868 return NumberLiteral.class; 869 case PACKAGE_DECLARATION : 870 return PackageDeclaration.class; 871 case PARAMETERIZED_TYPE : 872 return ParameterizedType.class; 873 case PARENTHESIZED_EXPRESSION : 874 return ParenthesizedExpression.class; 875 case POSTFIX_EXPRESSION : 876 return PostfixExpression.class; 877 case PREFIX_EXPRESSION : 878 return PrefixExpression.class; 879 case PRIMITIVE_TYPE : 880 return PrimitiveType.class; 881 case QUALIFIED_NAME : 882 return QualifiedName.class; 883 case QUALIFIED_TYPE : 884 return QualifiedType.class; 885 case RETURN_STATEMENT : 886 return ReturnStatement.class; 887 case SIMPLE_NAME : 888 return SimpleName.class; 889 case SIMPLE_TYPE : 890 return SimpleType.class; 891 case SINGLE_MEMBER_ANNOTATION : 892 return SingleMemberAnnotation.class; 893 case SINGLE_VARIABLE_DECLARATION : 894 return SingleVariableDeclaration.class; 895 case STRING_LITERAL : 896 return StringLiteral.class; 897 case SUPER_CONSTRUCTOR_INVOCATION : 898 return SuperConstructorInvocation.class; 899 case SUPER_FIELD_ACCESS : 900 return SuperFieldAccess.class; 901 case SUPER_METHOD_INVOCATION : 902 return SuperMethodInvocation.class; 903 case SWITCH_CASE: 904 return SwitchCase.class; 905 case SWITCH_STATEMENT : 906 return SwitchStatement.class; 907 case SYNCHRONIZED_STATEMENT : 908 return SynchronizedStatement.class; 909 case TAG_ELEMENT : 910 return TagElement.class; 911 case TEXT_ELEMENT : 912 return TextElement.class; 913 case THIS_EXPRESSION : 914 return ThisExpression.class; 915 case THROW_STATEMENT : 916 return ThrowStatement.class; 917 case TRY_STATEMENT : 918 return TryStatement.class; 919 case TYPE_DECLARATION : 920 return TypeDeclaration.class; 921 case TYPE_DECLARATION_STATEMENT : 922 return TypeDeclarationStatement.class; 923 case TYPE_LITERAL : 924 return TypeLiteral.class; 925 case TYPE_PARAMETER : 926 return TypeParameter.class; 927 case VARIABLE_DECLARATION_EXPRESSION : 928 return VariableDeclarationExpression.class; 929 case VARIABLE_DECLARATION_FRAGMENT : 930 return VariableDeclarationFragment.class; 931 case VARIABLE_DECLARATI
|