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": "NewExpression", 233 "callee": { 234 "type": "Identifier", 235 "name": "Array", 236 "loc": { 237 "start": { 238 "line": 23, 239 "column": 18 240 }, 241 "end": { 242 "line": 23, 243 "column": 23 244 } 245 } 246 }, 247 "typeParameters": { 248 "type": "TSTypeParameterInstantiation", 249 "params": [ 250 { 251 "type": "TSTypeReference", 252 "typeName": { 253 "type": "Identifier", 254 "name": "E", 255 "loc": { 256 "start": { 257 "line": 23, 258 "column": 24 259 }, 260 "end": { 261 "line": 23, 262 "column": 25 263 } 264 } 265 }, 266 "loc": { 267 "start": { 268 "line": 23, 269 "column": 24 270 }, 271 "end": { 272 "line": 23, 273 "column": 25 274 } 275 } 276 } 277 ], 278 "loc": { 279 "start": { 280 "line": 23, 281 "column": 23 282 }, 283 "end": { 284 "line": 23, 285 "column": 26 286 } 287 } 288 }, 289 "arguments": [ 290 { 291 "type": "NumberLiteral", 292 "value": 0, 293 "loc": { 294 "start": { 295 "line": 23, 296 "column": 27 297 }, 298 "end": { 299 "line": 23, 300 "column": 28 301 } 302 } 303 } 304 ], 305 "loc": { 306 "start": { 307 "line": 23, 308 "column": 14 309 }, 310 "end": { 311 "line": 23, 312 "column": 29 313 } 314 } 315 }, 316 "static": false, 317 "readonly": false, 318 "declare": false, 319 "optional": false, 320 "computed": false, 321 "typeAnnotation": { 322 "type": "TSArrayType", 323 "elementType": { 324 "type": "TSTypeReference", 325 "typeName": { 326 "type": "Identifier", 327 "name": "E", 328 "loc": { 329 "start": { 330 "line": 23, 331 "column": 8 332 }, 333 "end": { 334 "line": 23, 335 "column": 9 336 } 337 } 338 }, 339 "loc": { 340 "start": { 341 "line": 23, 342 "column": 8 343 }, 344 "end": { 345 "line": 23, 346 "column": 9 347 } 348 } 349 }, 350 "loc": { 351 "start": { 352 "line": 23, 353 "column": 8 354 }, 355 "end": { 356 "line": 23, 357 "column": 11 358 } 359 } 360 }, 361 "decorators": [], 362 "loc": { 363 "start": { 364 "line": 23, 365 "column": 5 366 }, 367 "end": { 368 "line": 23, 369 "column": 29 370 } 371 } 372 } 373 ], 374 "indexSignatures": [], 375 "loc": { 376 "start": { 377 "line": 21, 378 "column": 18 379 }, 380 "end": { 381 "line": 24, 382 "column": 2 383 } 384 } 385 }, 386 "decorators": [], 387 "isAnnotationDeclaration": true, 388 "loc": { 389 "start": { 390 "line": 21, 391 "column": 2 392 }, 393 "end": { 394 "line": 24, 395 "column": 2 396 } 397 } 398 }, 399 { 400 "type": "ClassDeclaration", 401 "definition": { 402 "id": { 403 "type": "Identifier", 404 "name": "Anno2", 405 "loc": { 406 "start": { 407 "line": 26, 408 "column": 12 409 }, 410 "end": { 411 "line": 26, 412 "column": 17 413 } 414 } 415 }, 416 "superClass": null, 417 "implements": [], 418 "constructor": { 419 "type": "MethodDefinition", 420 "key": { 421 "type": "Identifier", 422 "name": "constructor", 423 "loc": { 424 "start": { 425 "line": 1, 426 "column": 1 427 }, 428 "end": { 429 "line": 1, 430 "column": 1 431 } 432 } 433 }, 434 "kind": "constructor", 435 "static": false, 436 "optional": false, 437 "computed": false, 438 "value": { 439 "type": "FunctionExpression", 440 "function": { 441 "type": "ScriptFunction", 442 "id": null, 443 "generator": false, 444 "async": false, 445 "expression": false, 446 "params": [], 447 "body": { 448 "type": "Program", 449 "statements": [], 450 "loc": { 451 "start": { 452 "line": 1, 453 "column": 1 454 }, 455 "end": { 456 "line": 1, 457 "column": 1 458 } 459 } 460 }, 461 "loc": { 462 "start": { 463 "line": 1, 464 "column": 1 465 }, 466 "end": { 467 "line": 1, 468 "column": 1 469 } 470 } 471 }, 472 "loc": { 473 "start": { 474 "line": 1, 475 "column": 1 476 }, 477 "end": { 478 "line": 1, 479 "column": 1 480 } 481 } 482 }, 483 "overloads": [], 484 "decorators": [], 485 "annotations": [], 486 "loc": { 487 "start": { 488 "line": 26, 489 "column": 2 490 }, 491 "end": { 492 "line": 29, 493 "column": 2 494 } 495 } 496 }, 497 "body": [ 498 { 499 "type": "ClassProperty", 500 "key": { 501 "type": "Identifier", 502 "name": "a", 503 "loc": { 504 "start": { 505 "line": 28, 506 "column": 5 507 }, 508 "end": { 509 "line": 28, 510 "column": 6 511 } 512 } 513 }, 514 "value": { 515 "type": "NewExpression", 516 "callee": { 517 "type": "Identifier", 518 "name": "Array", 519 "loc": { 520 "start": { 521 "line": 28, 522 "column": 18 523 }, 524 "end": { 525 "line": 28, 526 "column": 23 527 } 528 } 529 }, 530 "typeParameters": { 531 "type": "TSTypeParameterInstantiation", 532 "params": [ 533 { 534 "type": "TSTypeReference", 535 "typeName": { 536 "type": "Identifier", 537 "name": "E", 538 "loc": { 539 "start": { 540 "line": 28, 541 "column": 24 542 }, 543 "end": { 544 "line": 28, 545 "column": 25 546 } 547 } 548 }, 549 "loc": { 550 "start": { 551 "line": 28, 552 "column": 24 553 }, 554 "end": { 555 "line": 28, 556 "column": 25 557 } 558 } 559 } 560 ], 561 "loc": { 562 "start": { 563 "line": 28, 564 "column": 23 565 }, 566 "end": { 567 "line": 28, 568 "column": 26 569 } 570 } 571 }, 572 "arguments": [ 573 { 574 "type": "NumberLiteral", 575 "value": 1, 576 "loc": { 577 "start": { 578 "line": 28, 579 "column": 27 580 }, 581 "end": { 582 "line": 28, 583 "column": 28 584 } 585 } 586 } 587 ], 588 "loc": { 589 "start": { 590 "line": 28, 591 "column": 14 592 }, 593 "end": { 594 "line": 28, 595 "column": 29 596 } 597 } 598 }, 599 "static": false, 600 "readonly": false, 601 "declare": false, 602 "optional": false, 603 "computed": false, 604 "typeAnnotation": { 605 "type": "TSArrayType", 606 "elementType": { 607 "type": "TSTypeReference", 608 "typeName": { 609 "type": "Identifier", 610 "name": "E", 611 "loc": { 612 "start": { 613 "line": 28, 614 "column": 8 615 }, 616 "end": { 617 "line": 28, 618 "column": 9 619 } 620 } 621 }, 622 "loc": { 623 "start": { 624 "line": 28, 625 "column": 8 626 }, 627 "end": { 628 "line": 28, 629 "column": 9 630 } 631 } 632 }, 633 "loc": { 634 "start": { 635 "line": 28, 636 "column": 8 637 }, 638 "end": { 639 "line": 28, 640 "column": 11 641 } 642 } 643 }, 644 "decorators": [], 645 "loc": { 646 "start": { 647 "line": 28, 648 "column": 5 649 }, 650 "end": { 651 "line": 28, 652 "column": 29 653 } 654 } 655 } 656 ], 657 "indexSignatures": [], 658 "loc": { 659 "start": { 660 "line": 26, 661 "column": 18 662 }, 663 "end": { 664 "line": 29, 665 "column": 2 666 } 667 } 668 }, 669 "decorators": [], 670 "isAnnotationDeclaration": true, 671 "loc": { 672 "start": { 673 "line": 26, 674 "column": 2 675 }, 676 "end": { 677 "line": 29, 678 "column": 2 679 } 680 } 681 }, 682 { 683 "type": "ClassDeclaration", 684 "definition": { 685 "id": { 686 "type": "Identifier", 687 "name": "Anno3", 688 "loc": { 689 "start": { 690 "line": 31, 691 "column": 12 692 }, 693 "end": { 694 "line": 31, 695 "column": 17 696 } 697 } 698 }, 699 "superClass": null, 700 "implements": [], 701 "constructor": { 702 "type": "MethodDefinition", 703 "key": { 704 "type": "Identifier", 705 "name": "constructor", 706 "loc": { 707 "start": { 708 "line": 1, 709 "column": 1 710 }, 711 "end": { 712 "line": 1, 713 "column": 1 714 } 715 } 716 }, 717 "kind": "constructor", 718 "static": false, 719 "optional": false, 720 "computed": false, 721 "value": { 722 "type": "FunctionExpression", 723 "function": { 724 "type": "ScriptFunction", 725 "id": null, 726 "generator": false, 727 "async": false, 728 "expression": false, 729 "params": [], 730 "body": { 731 "type": "Program", 732 "statements": [], 733 "loc": { 734 "start": { 735 "line": 1, 736 "column": 1 737 }, 738 "end": { 739 "line": 1, 740 "column": 1 741 } 742 } 743 }, 744 "loc": { 745 "start": { 746 "line": 1, 747 "column": 1 748 }, 749 "end": { 750 "line": 1, 751 "column": 1 752 } 753 } 754 }, 755 "loc": { 756 "start": { 757 "line": 1, 758 "column": 1 759 }, 760 "end": { 761 "line": 1, 762 "column": 1 763 } 764 } 765 }, 766 "overloads": [], 767 "decorators": [], 768 "annotations": [], 769 "loc": { 770 "start": { 771 "line": 31, 772 "column": 2 773 }, 774 "end": { 775 "line": 33, 776 "column": 2 777 } 778 } 779 }, 780 "body": [ 781 { 782 "type": "ClassProperty", 783 "key": { 784 "type": "Identifier", 785 "name": "a", 786 "loc": { 787 "start": { 788 "line": 32, 789 "column": 5 790 }, 791 "end": { 792 "line": 32, 793 "column": 6 794 } 795 } 796 }, 797 "value": { 798 "type": "ArrayExpression", 799 "elements": [ 800 { 801 "type": "NumberLiteral", 802 "value": 42, 803 "loc": { 804 "start": { 805 "line": 32, 806 "column": 15 807 }, 808 "end": { 809 "line": 32, 810 "column": 17 811 } 812 } 813 }, 814 { 815 "type": "NumberLiteral", 816 "value": 314, 817 "loc": { 818 "start": { 819 "line": 32, 820 "column": 19 821 }, 822 "end": { 823 "line": 32, 824 "column": 22 825 } 826 } 827 }, 828 { 829 "type": "NumberLiteral", 830 "value": 42, 831 "loc": { 832 "start": { 833 "line": 32, 834 "column": 24 835 }, 836 "end": { 837 "line": 32, 838 "column": 26 839 } 840 } 841 } 842 ], 843 "loc": { 844 "start": { 845 "line": 32, 846 "column": 14 847 }, 848 "end": { 849 "line": 32, 850 "column": 27 851 } 852 } 853 }, 854 "static": false, 855 "readonly": false, 856 "declare": false, 857 "optional": false, 858 "computed": false, 859 "typeAnnotation": { 860 "type": "TSArrayType", 861 "elementType": { 862 "type": "TSTypeReference", 863 "typeName": { 864 "type": "Identifier", 865 "name": "E", 866 "loc": { 867 "start": { 868 "line": 32, 869 "column": 8 870 }, 871 "end": { 872 "line": 32, 873 "column": 9 874 } 875 } 876 }, 877 "loc": { 878 "start": { 879 "line": 32, 880 "column": 8 881 }, 882 "end": { 883 "line": 32, 884 "column": 9 885 } 886 } 887 }, 888 "loc": { 889 "start": { 890 "line": 32, 891 "column": 8 892 }, 893 "end": { 894 "line": 32, 895 "column": 11 896 } 897 } 898 }, 899 "decorators": [], 900 "loc": { 901 "start": { 902 "line": 32, 903 "column": 5 904 }, 905 "end": { 906 "line": 32, 907 "column": 27 908 } 909 } 910 } 911 ], 912 "indexSignatures": [], 913 "loc": { 914 "start": { 915 "line": 31, 916 "column": 18 917 }, 918 "end": { 919 "line": 33, 920 "column": 2 921 } 922 } 923 }, 924 "decorators": [], 925 "isAnnotationDeclaration": true, 926 "loc": { 927 "start": { 928 "line": 31, 929 "column": 2 930 }, 931 "end": { 932 "line": 33, 933 "column": 2 934 } 935 } 936 } 937 ], 938 "loc": { 939 "start": { 940 "line": 1, 941 "column": 1 942 }, 943 "end": { 944 "line": 34, 945 "column": 1 946 } 947 } 948} 949