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