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