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