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