1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSEnumDeclaration", 6 "id": { 7 "type": "Identifier", 8 "name": "E", 9 "loc": { 10 "start": { 11 "line": 16, 12 "column": 12 13 }, 14 "end": { 15 "line": 16, 16 "column": 13 17 } 18 } 19 }, 20 "members": [ 21 { 22 "type": "TSEnumMember", 23 "id": { 24 "type": "Identifier", 25 "name": "A", 26 "loc": { 27 "start": { 28 "line": 17, 29 "column": 5 30 }, 31 "end": { 32 "line": 17, 33 "column": 6 34 } 35 } 36 }, 37 "initializer": { 38 "type": "NumberLiteral", 39 "value": 42, 40 "loc": { 41 "start": { 42 "line": 17, 43 "column": 9 44 }, 45 "end": { 46 "line": 17, 47 "column": 11 48 } 49 } 50 }, 51 "loc": { 52 "start": { 53 "line": 17, 54 "column": 9 55 }, 56 "end": { 57 "line": 17, 58 "column": 12 59 } 60 } 61 }, 62 { 63 "type": "TSEnumMember", 64 "id": { 65 "type": "Identifier", 66 "name": "B", 67 "loc": { 68 "start": { 69 "line": 18, 70 "column": 5 71 }, 72 "end": { 73 "line": 18, 74 "column": 6 75 } 76 } 77 }, 78 "initializer": { 79 "type": "NumberLiteral", 80 "value": 314, 81 "loc": { 82 "start": { 83 "line": 18, 84 "column": 9 85 }, 86 "end": { 87 "line": 18, 88 "column": 12 89 } 90 } 91 }, 92 "loc": { 93 "start": { 94 "line": 18, 95 "column": 9 96 }, 97 "end": { 98 "line": 19, 99 "column": 2 100 } 101 } 102 } 103 ], 104 "const": true, 105 "loc": { 106 "start": { 107 "line": 16, 108 "column": 7 109 }, 110 "end": { 111 "line": 19, 112 "column": 2 113 } 114 } 115 }, 116 { 117 "type": "ClassDeclaration", 118 "definition": { 119 "id": { 120 "type": "Identifier", 121 "name": "Anno1", 122 "loc": { 123 "start": { 124 "line": 21, 125 "column": 12 126 }, 127 "end": { 128 "line": 21, 129 "column": 17 130 } 131 } 132 }, 133 "superClass": null, 134 "implements": [], 135 "constructor": { 136 "type": "MethodDefinition", 137 "key": { 138 "type": "Identifier", 139 "name": "constructor", 140 "loc": { 141 "start": { 142 "line": 1, 143 "column": 1 144 }, 145 "end": { 146 "line": 1, 147 "column": 1 148 } 149 } 150 }, 151 "kind": "constructor", 152 "static": false, 153 "optional": false, 154 "computed": false, 155 "value": { 156 "type": "FunctionExpression", 157 "function": { 158 "type": "ScriptFunction", 159 "id": null, 160 "generator": false, 161 "async": false, 162 "expression": false, 163 "params": [], 164 "body": { 165 "type": "Program", 166 "statements": [], 167 "loc": { 168 "start": { 169 "line": 1, 170 "column": 1 171 }, 172 "end": { 173 "line": 1, 174 "column": 1 175 } 176 } 177 }, 178 "loc": { 179 "start": { 180 "line": 1, 181 "column": 1 182 }, 183 "end": { 184 "line": 1, 185 "column": 1 186 } 187 } 188 }, 189 "loc": { 190 "start": { 191 "line": 1, 192 "column": 1 193 }, 194 "end": { 195 "line": 1, 196 "column": 1 197 } 198 } 199 }, 200 "overloads": [], 201 "decorators": [], 202 "annotations": [], 203 "loc": { 204 "start": { 205 "line": 21, 206 "column": 2 207 }, 208 "end": { 209 "line": 24, 210 "column": 2 211 } 212 } 213 }, 214 "body": [ 215 { 216 "type": "ClassProperty", 217 "key": { 218 "type": "Identifier", 219 "name": "a", 220 "loc": { 221 "start": { 222 "line": 23, 223 "column": 5 224 }, 225 "end": { 226 "line": 23, 227 "column": 6 228 } 229 } 230 }, 231 "value": { 232 "type": "ArrayExpression", 233 "elements": [ 234 { 235 "type": "ArrayExpression", 236 "elements": [ 237 { 238 "type": "NewExpression", 239 "callee": { 240 "type": "Identifier", 241 "name": "Array", 242 "loc": { 243 "start": { 244 "line": 23, 245 "column": 24 246 }, 247 "end": { 248 "line": 23, 249 "column": 29 250 } 251 } 252 }, 253 "typeParameters": { 254 "type": "TSTypeParameterInstantiation", 255 "params": [ 256 { 257 "type": "TSTypeReference", 258 "typeName": { 259 "type": "Identifier", 260 "name": "E", 261 "loc": { 262 "start": { 263 "line": 23, 264 "column": 30 265 }, 266 "end": { 267 "line": 23, 268 "column": 31 269 } 270 } 271 }, 272 "loc": { 273 "start": { 274 "line": 23, 275 "column": 30 276 }, 277 "end": { 278 "line": 23, 279 "column": 31 280 } 281 } 282 } 283 ], 284 "loc": { 285 "start": { 286 "line": 23, 287 "column": 29 288 }, 289 "end": { 290 "line": 23, 291 "column": 32 292 } 293 } 294 }, 295 "arguments": [ 296 { 297 "type": "NumberLiteral", 298 "value": 0, 299 "loc": { 300 "start": { 301 "line": 23, 302 "column": 33 303 }, 304 "end": { 305 "line": 23, 306 "column": 34 307 } 308 } 309 } 310 ], 311 "loc": { 312 "start": { 313 "line": 23, 314 "column": 20 315 }, 316 "end": { 317 "line": 23, 318 "column": 35 319 } 320 } 321 } 322 ], 323 "loc": { 324 "start": { 325 "line": 23, 326 "column": 19 327 }, 328 "end": { 329 "line": 23, 330 "column": 36 331 } 332 } 333 } 334 ], 335 "loc": { 336 "start": { 337 "line": 23, 338 "column": 18 339 }, 340 "end": { 341 "line": 23, 342 "column": 37 343 } 344 } 345 }, 346 "static": false, 347 "readonly": false, 348 "declare": false, 349 "optional": false, 350 "computed": false, 351 "typeAnnotation": { 352 "type": "TSArrayType", 353 "elementType": { 354 "type": "TSArrayType", 355 "elementType": { 356 "type": "TSArrayType", 357 "elementType": { 358 "type": "TSTypeReference", 359 "typeName": { 360 "type": "Identifier", 361 "name": "E", 362 "loc": { 363 "start": { 364 "line": 23, 365 "column": 8 366 }, 367 "end": { 368 "line": 23, 369 "column": 9 370 } 371 } 372 }, 373 "loc": { 374 "start": { 375 "line": 23, 376 "column": 8 377 }, 378 "end": { 379 "line": 23, 380 "column": 9 381 } 382 } 383 }, 384 "loc": { 385 "start": { 386 "line": 23, 387 "column": 8 388 }, 389 "end": { 390 "line": 23, 391 "column": 11 392 } 393 } 394 }, 395 "loc": { 396 "start": { 397 "line": 23, 398 "column": 8 399 }, 400 "end": { 401 "line": 23, 402 "column": 13 403 } 404 } 405 }, 406 "loc": { 407 "start": { 408 "line": 23, 409 "column": 8 410 }, 411 "end": { 412 "line": 23, 413 "column": 15 414 } 415 } 416 }, 417 "decorators": [], 418 "loc": { 419 "start": { 420 "line": 23, 421 "column": 5 422 }, 423 "end": { 424 "line": 23, 425 "column": 37 426 } 427 } 428 } 429 ], 430 "indexSignatures": [], 431 "loc": { 432 "start": { 433 "line": 21, 434 "column": 18 435 }, 436 "end": { 437 "line": 24, 438 "column": 2 439 } 440 } 441 }, 442 "decorators": [], 443 "isAnnotationDeclaration": true, 444 "loc": { 445 "start": { 446 "line": 21, 447 "column": 2 448 }, 449 "end": { 450 "line": 24, 451 "column": 2 452 } 453 } 454 }, 455 { 456 "type": "ClassDeclaration", 457 "definition": { 458 "id": { 459 "type": "Identifier", 460 "name": "Anno2", 461 "loc": { 462 "start": { 463 "line": 26, 464 "column": 12 465 }, 466 "end": { 467 "line": 26, 468 "column": 17 469 } 470 } 471 }, 472 "superClass": null, 473 "implements": [], 474 "constructor": { 475 "type": "MethodDefinition", 476 "key": { 477 "type": "Identifier", 478 "name": "constructor", 479 "loc": { 480 "start": { 481 "line": 1, 482 "column": 1 483 }, 484 "end": { 485 "line": 1, 486 "column": 1 487 } 488 } 489 }, 490 "kind": "constructor", 491 "static": false, 492 "optional": false, 493 "computed": false, 494 "value": { 495 "type": "FunctionExpression", 496 "function": { 497 "type": "ScriptFunction", 498 "id": null, 499 "generator": false, 500 "async": false, 501 "expression": false, 502 "params": [], 503 "body": { 504 "type": "Program", 505 "statements": [], 506 "loc": { 507 "start": { 508 "line": 1, 509 "column": 1 510 }, 511 "end": { 512 "line": 1, 513 "column": 1 514 } 515 } 516 }, 517 "loc": { 518 "start": { 519 "line": 1, 520 "column": 1 521 }, 522 "end": { 523 "line": 1, 524 "column": 1 525 } 526 } 527 }, 528 "loc": { 529 "start": { 530 "line": 1, 531 "column": 1 532 }, 533 "end": { 534 "line": 1, 535 "column": 1 536 } 537 } 538 }, 539 "overloads": [], 540 "decorators": [], 541 "annotations": [], 542 "loc": { 543 "start": { 544 "line": 26, 545 "column": 2 546 }, 547 "end": { 548 "line": 29, 549 "column": 2 550 } 551 } 552 }, 553 "body": [ 554 { 555 "type": "ClassProperty", 556 "key": { 557 "type": "Identifier", 558 "name": "a", 559 "loc": { 560 "start": { 561 "line": 28, 562 "column": 5 563 }, 564 "end": { 565 "line": 28, 566 "column": 6 567 } 568 } 569 }, 570 "value": { 571 "type": "ArrayExpression", 572 "elements": [ 573 { 574 "type": "ArrayExpression", 575 "elements": [ 576 { 577 "type": "NewExpression", 578 "callee": { 579 "type": "Identifier", 580 "name": "Array", 581 "loc": { 582 "start": { 583 "line": 28, 584 "column": 24 585 }, 586 "end": { 587 "line": 28, 588 "column": 29 589 } 590 } 591 }, 592 "typeParameters": { 593 "type": "TSTypeParameterInstantiation", 594 "params": [ 595 { 596 "type": "TSTypeReference", 597 "typeName": { 598 "type": "Identifier", 599 "name": "E", 600 "loc": { 601 "start": { 602 "line": 28, 603 "column": 30 604 }, 605 "end": { 606 "line": 28, 607 "column": 31 608 } 609 } 610 }, 611 "loc": { 612 "start": { 613 "line": 28, 614 "column": 30 615 }, 616 "end": { 617 "line": 28, 618 "column": 31 619 } 620 } 621 } 622 ], 623 "loc": { 624 "start": { 625 "line": 28, 626 "column": 29 627 }, 628 "end": { 629 "line": 28, 630 "column": 32 631 } 632 } 633 }, 634 "arguments": [ 635 { 636 "type": "NumberLiteral", 637 "value": 1, 638 "loc": { 639 "start": { 640 "line": 28, 641 "column": 33 642 }, 643 "end": { 644 "line": 28, 645 "column": 34 646 } 647 } 648 } 649 ], 650 "loc": { 651 "start": { 652 "line": 28, 653 "column": 20 654 }, 655 "end": { 656 "line": 28, 657 "column": 35 658 } 659 } 660 } 661 ], 662 "loc": { 663 "start": { 664 "line": 28, 665 "column": 19 666 }, 667 "end": { 668 "line": 28, 669 "column": 36 670 } 671 } 672 } 673 ], 674 "loc": { 675 "start": { 676 "line": 28, 677 "column": 18 678 }, 679 "end": { 680 "line": 28, 681 "column": 37 682 } 683 } 684 }, 685 "static": false, 686 "readonly": false, 687 "declare": false, 688 "optional": false, 689 "computed": false, 690 "typeAnnotation": { 691 "type": "TSArrayType", 692 "elementType": { 693 "type": "TSArrayType", 694 "elementType": { 695 "type": "TSArrayType", 696 "elementType": { 697 "type": "TSTypeReference", 698 "typeName": { 699 "type": "Identifier", 700 "name": "E", 701 "loc": { 702 "start": { 703 "line": 28, 704 "column": 8 705 }, 706 "end": { 707 "line": 28, 708 "column": 9 709 } 710 } 711 }, 712 "loc": { 713 "start": { 714 "line": 28, 715 "column": 8 716 }, 717 "end": { 718 "line": 28, 719 "column": 9 720 } 721 } 722 }, 723 "loc": { 724 "start": { 725 "line": 28, 726 "column": 8 727 }, 728 "end": { 729 "line": 28, 730 "column": 11 731 } 732 } 733 }, 734 "loc": { 735 "start": { 736 "line": 28, 737 "column": 8 738 }, 739 "end": { 740 "line": 28, 741 "column": 13 742 } 743 } 744 }, 745 "loc": { 746 "start": { 747 "line": 28, 748 "column": 8 749 }, 750 "end": { 751 "line": 28, 752 "column": 15 753 } 754 } 755 }, 756 "decorators": [], 757 "loc": { 758 "start": { 759 "line": 28, 760 "column": 5 761 }, 762 "end": { 763 "line": 28, 764 "column": 37 765 } 766 } 767 } 768 ], 769 "indexSignatures": [], 770 "loc": { 771 "start": { 772 "line": 26, 773 "column": 18 774 }, 775 "end": { 776 "line": 29, 777 "column": 2 778 } 779 } 780 }, 781 "decorators": [], 782 "isAnnotationDeclaration": true, 783 "loc": { 784 "start": { 785 "line": 26, 786 "column": 2 787 }, 788 "end": { 789 "line": 29, 790 "column": 2 791 } 792 } 793 }, 794 { 795 "type": "ClassDeclaration", 796 "definition": { 797 "id": { 798 "type": "Identifier", 799 "name": "Anno3", 800 "loc": { 801 "start": { 802 "line": 31, 803 "column": 12 804 }, 805 "end": { 806 "line": 31, 807 "column": 17 808 } 809 } 810 }, 811 "superClass": null, 812 "implements": [], 813 "constructor": { 814 "type": "MethodDefinition", 815 "key": { 816 "type": "Identifier", 817 "name": "constructor", 818 "loc": { 819 "start": { 820 "line": 1, 821 "column": 1 822 }, 823 "end": { 824 "line": 1, 825 "column": 1 826 } 827 } 828 }, 829 "kind": "constructor", 830 "static": false, 831 "optional": false, 832 "computed": false, 833 "value": { 834 "type": "FunctionExpression", 835 "function": { 836 "type": "ScriptFunction", 837 "id": null, 838 "generator": false, 839 "async": false, 840 "expression": false, 841 "params": [], 842 "body": { 843 "type": "Program", 844 "statements": [], 845 "loc": { 846 "start": { 847 "line": 1, 848 "column": 1 849 }, 850 "end": { 851 "line": 1, 852 "column": 1 853 } 854 } 855 }, 856 "loc": { 857 "start": { 858 "line": 1, 859 "column": 1 860 }, 861 "end": { 862 "line": 1, 863 "column": 1 864 } 865 } 866 }, 867 "loc": { 868 "start": { 869 "line": 1, 870 "column": 1 871 }, 872 "end": { 873 "line": 1, 874 "column": 1 875 } 876 } 877 }, 878 "overloads": [], 879 "decorators": [], 880 "annotations": [], 881 "loc": { 882 "start": { 883 "line": 31, 884 "column": 2 885 }, 886 "end": { 887 "line": 33, 888 "column": 2 889 } 890 } 891 }, 892 "body": [ 893 { 894 "type": "ClassProperty", 895 "key": { 896 "type": "Identifier", 897 "name": "a", 898 "loc": { 899 "start": { 900 "line": 32, 901 "column": 5 902 }, 903 "end": { 904 "line": 32, 905 "column": 6 906 } 907 } 908 }, 909 "value": { 910 "type": "ArrayExpression", 911 "elements": [ 912 { 913 "type": "ArrayExpression", 914 "elements": [ 915 { 916 "type": "ArrayExpression", 917 "elements": [ 918 { 919 "type": "NumberLiteral", 920 "value": 42, 921 "loc": { 922 "start": { 923 "line": 32, 924 "column": 21 925 }, 926 "end": { 927 "line": 32, 928 "column": 23 929 } 930 } 931 }, 932 { 933 "type": "NumberLiteral", 934 "value": 314, 935 "loc": { 936 "start": { 937 "line": 32, 938 "column": 25 939 }, 940 "end": { 941 "line": 32, 942 "column": 28 943 } 944 } 945 }, 946 { 947 "type": "NumberLiteral", 948 "value": 42, 949 "loc": { 950 "start": { 951 "line": 32, 952 "column": 30 953 }, 954 "end": { 955 "line": 32, 956 "column": 32 957 } 958 } 959 } 960 ], 961 "loc": { 962 "start": { 963 "line": 32, 964 "column": 20 965 }, 966 "end": { 967 "line": 32, 968 "column": 33 969 } 970 } 971 } 972 ], 973 "loc": { 974 "start": { 975 "line": 32, 976 "column": 19 977 }, 978 "end": { 979 "line": 32, 980 "column": 34 981 } 982 } 983 } 984 ], 985 "loc": { 986 "start": { 987 "line": 32, 988 "column": 18 989 }, 990 "end": { 991 "line": 32, 992 "column": 35 993 } 994 } 995 }, 996 "static": false, 997 "readonly": false, 998 "declare": false, 999 "optional": false, 1000 "computed": false, 1001 "typeAnnotation": { 1002 "type": "TSArrayType", 1003 "elementType": { 1004 "type": "TSArrayType", 1005 "elementType": { 1006 "type": "TSArrayType", 1007 "elementType": { 1008 "type": "TSTypeReference", 1009 "typeName": { 1010 "type": "Identifier", 1011 "name": "E", 1012 "loc": { 1013 "start": { 1014 "line": 32, 1015 "column": 8 1016 }, 1017 "end": { 1018 "line": 32, 1019 "column": 9 1020 } 1021 } 1022 }, 1023 "loc": { 1024 "start": { 1025 "line": 32, 1026 "column": 8 1027 }, 1028 "end": { 1029 "line": 32, 1030 "column": 9 1031 } 1032 } 1033 }, 1034 "loc": { 1035 "start": { 1036 "line": 32, 1037 "column": 8 1038 }, 1039 "end": { 1040 "line": 32, 1041 "column": 11 1042 } 1043 } 1044 }, 1045 "loc": { 1046 "start": { 1047 "line": 32, 1048 "column": 8 1049 }, 1050 "end": { 1051 "line": 32, 1052 "column": 13 1053 } 1054 } 1055 }, 1056 "loc": { 1057 "start": { 1058 "line": 32, 1059 "column": 8 1060 }, 1061 "end": { 1062 "line": 32, 1063 "column": 15 1064 } 1065 } 1066 }, 1067 "decorators": [], 1068 "loc": { 1069 "start": { 1070 "line": 32, 1071 "column": 5 1072 }, 1073 "end": { 1074 "line": 32, 1075 "column": 35 1076 } 1077 } 1078 } 1079 ], 1080 "indexSignatures": [], 1081 "loc": { 1082 "start": { 1083 "line": 31, 1084 "column": 18 1085 }, 1086 "end": { 1087 "line": 33, 1088 "column": 2 1089 } 1090 } 1091 }, 1092 "decorators": [], 1093 "isAnnotationDeclaration": true, 1094 "loc": { 1095 "start": { 1096 "line": 31, 1097 "column": 2 1098 }, 1099 "end": { 1100 "line": 33, 1101 "column": 2 1102 } 1103 } 1104 } 1105 ], 1106 "loc": { 1107 "start": { 1108 "line": 1, 1109 "column": 1 1110 }, 1111 "end": { 1112 "line": 34, 1113 "column": 1 1114 } 1115 } 1116} 1117