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": "rethrowingCheck1.ets" 16 }, 17 "end": { 18 "line": 1, 19 "column": 1, 20 "program": "rethrowingCheck1.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": "rethrowingCheck1.ets" 125 }, 126 "end": { 127 "line": 1, 128 "column": 1, 129 "program": "rethrowingCheck1.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": "rethrowingCheck1.ets" 231 }, 232 "end": { 233 "line": 1, 234 "column": 1, 235 "program": "rethrowingCheck1.ets" 236 } 237 } 238 }, 239 { 240 "type": "MethodDefinition", 241 "key": { 242 "type": "Identifier", 243 "name": "foo", 244 "decorators": [], 245 "loc": { 246 "start": { 247 "line": 16, 248 "column": 10, 249 "program": "rethrowingCheck1.ets" 250 }, 251 "end": { 252 "line": 16, 253 "column": 13, 254 "program": "rethrowingCheck1.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": "foo", 270 "decorators": [], 271 "loc": { 272 "start": { 273 "line": 16, 274 "column": 10, 275 "program": "rethrowingCheck1.ets" 276 }, 277 "end": { 278 "line": 16, 279 "column": 13, 280 "program": "rethrowingCheck1.ets" 281 } 282 } 283 }, 284 "generator": false, 285 "async": false, 286 "expression": false, 287 "params": [], 288 "body": { 289 "type": "BlockStatement", 290 "statements": [ 291 { 292 "type": "ThrowStatement", 293 "argument": { 294 "type": "ETSNewClassInstanceExpression", 295 "typeReference": { 296 "type": "ETSTypeReference", 297 "part": { 298 "type": "ETSTypeReferencePart", 299 "name": { 300 "type": "Identifier", 301 "name": "Exception", 302 "decorators": [], 303 "loc": { 304 "start": { 305 "line": 17, 306 "column": 15, 307 "program": "rethrowingCheck1.ets" 308 }, 309 "end": { 310 "line": 17, 311 "column": 24, 312 "program": "rethrowingCheck1.ets" 313 } 314 } 315 }, 316 "loc": { 317 "start": { 318 "line": 17, 319 "column": 15, 320 "program": "rethrowingCheck1.ets" 321 }, 322 "end": { 323 "line": 17, 324 "column": 25, 325 "program": "rethrowingCheck1.ets" 326 } 327 } 328 }, 329 "loc": { 330 "start": { 331 "line": 17, 332 "column": 15, 333 "program": "rethrowingCheck1.ets" 334 }, 335 "end": { 336 "line": 17, 337 "column": 25, 338 "program": "rethrowingCheck1.ets" 339 } 340 } 341 }, 342 "arguments": [ 343 { 344 "type": "StringLiteral", 345 "value": "I am an exception", 346 "loc": { 347 "start": { 348 "line": 17, 349 "column": 25, 350 "program": "rethrowingCheck1.ets" 351 }, 352 "end": { 353 "line": 17, 354 "column": 44, 355 "program": "rethrowingCheck1.ets" 356 } 357 } 358 } 359 ], 360 "loc": { 361 "start": { 362 "line": 17, 363 "column": 11, 364 "program": "rethrowingCheck1.ets" 365 }, 366 "end": { 367 "line": 17, 368 "column": 46, 369 "program": "rethrowingCheck1.ets" 370 } 371 } 372 }, 373 "loc": { 374 "start": { 375 "line": 17, 376 "column": 5, 377 "program": "rethrowingCheck1.ets" 378 }, 379 "end": { 380 "line": 17, 381 "column": 46, 382 "program": "rethrowingCheck1.ets" 383 } 384 } 385 } 386 ], 387 "loc": { 388 "start": { 389 "line": 16, 390 "column": 23, 391 "program": "rethrowingCheck1.ets" 392 }, 393 "end": { 394 "line": 18, 395 "column": 2, 396 "program": "rethrowingCheck1.ets" 397 } 398 } 399 }, 400 "throwMarker": "throws", 401 "loc": { 402 "start": { 403 "line": 16, 404 "column": 10, 405 "program": "rethrowingCheck1.ets" 406 }, 407 "end": { 408 "line": 18, 409 "column": 2, 410 "program": "rethrowingCheck1.ets" 411 } 412 } 413 }, 414 "loc": { 415 "start": { 416 "line": 16, 417 "column": 10, 418 "program": "rethrowingCheck1.ets" 419 }, 420 "end": { 421 "line": 18, 422 "column": 2, 423 "program": "rethrowingCheck1.ets" 424 } 425 } 426 }, 427 "overloads": [], 428 "decorators": [], 429 "loc": { 430 "start": { 431 "line": 16, 432 "column": 1, 433 "program": "rethrowingCheck1.ets" 434 }, 435 "end": { 436 "line": 18, 437 "column": 2, 438 "program": "rethrowingCheck1.ets" 439 } 440 } 441 }, 442 { 443 "type": "MethodDefinition", 444 "key": { 445 "type": "Identifier", 446 "name": "bar", 447 "decorators": [], 448 "loc": { 449 "start": { 450 "line": 20, 451 "column": 10, 452 "program": "rethrowingCheck1.ets" 453 }, 454 "end": { 455 "line": 20, 456 "column": 13, 457 "program": "rethrowingCheck1.ets" 458 } 459 } 460 }, 461 "kind": "method", 462 "accessibility": "public", 463 "static": true, 464 "optional": false, 465 "computed": false, 466 "value": { 467 "type": "FunctionExpression", 468 "function": { 469 "type": "ScriptFunction", 470 "id": { 471 "type": "Identifier", 472 "name": "bar", 473 "decorators": [], 474 "loc": { 475 "start": { 476 "line": 20, 477 "column": 10, 478 "program": "rethrowingCheck1.ets" 479 }, 480 "end": { 481 "line": 20, 482 "column": 13, 483 "program": "rethrowingCheck1.ets" 484 } 485 } 486 }, 487 "generator": false, 488 "async": false, 489 "expression": false, 490 "params": [ 491 { 492 "type": "ETSParameterExpression", 493 "name": { 494 "type": "Identifier", 495 "name": "a", 496 "typeAnnotation": { 497 "type": "ETSFunctionType", 498 "params": [], 499 "returnType": { 500 "type": "ETSPrimitiveType", 501 "loc": { 502 "start": { 503 "line": 20, 504 "column": 23, 505 "program": "rethrowingCheck1.ets" 506 }, 507 "end": { 508 "line": 20, 509 "column": 27, 510 "program": "rethrowingCheck1.ets" 511 } 512 } 513 }, 514 "throwMarker": "throws", 515 "loc": { 516 "start": { 517 "line": 20, 518 "column": 17, 519 "program": "rethrowingCheck1.ets" 520 }, 521 "end": { 522 "line": 20, 523 "column": 27, 524 "program": "rethrowingCheck1.ets" 525 } 526 } 527 }, 528 "decorators": [], 529 "loc": { 530 "start": { 531 "line": 20, 532 "column": 14, 533 "program": "rethrowingCheck1.ets" 534 }, 535 "end": { 536 "line": 20, 537 "column": 27, 538 "program": "rethrowingCheck1.ets" 539 } 540 } 541 }, 542 "loc": { 543 "start": { 544 "line": 20, 545 "column": 14, 546 "program": "rethrowingCheck1.ets" 547 }, 548 "end": { 549 "line": 20, 550 "column": 27, 551 "program": "rethrowingCheck1.ets" 552 } 553 } 554 } 555 ], 556 "body": { 557 "type": "BlockStatement", 558 "statements": [ 559 { 560 "type": "TryStatement", 561 "block": { 562 "type": "BlockStatement", 563 "statements": [ 564 { 565 "type": "ExpressionStatement", 566 "expression": { 567 "type": "CallExpression", 568 "callee": { 569 "type": "Identifier", 570 "name": "foo", 571 "decorators": [], 572 "loc": { 573 "start": { 574 "line": 22, 575 "column": 9, 576 "program": "rethrowingCheck1.ets" 577 }, 578 "end": { 579 "line": 22, 580 "column": 12, 581 "program": "rethrowingCheck1.ets" 582 } 583 } 584 }, 585 "arguments": [], 586 "optional": false, 587 "loc": { 588 "start": { 589 "line": 22, 590 "column": 9, 591 "program": "rethrowingCheck1.ets" 592 }, 593 "end": { 594 "line": 22, 595 "column": 14, 596 "program": "rethrowingCheck1.ets" 597 } 598 } 599 }, 600 "loc": { 601 "start": { 602 "line": 22, 603 "column": 9, 604 "program": "rethrowingCheck1.ets" 605 }, 606 "end": { 607 "line": 22, 608 "column": 15, 609 "program": "rethrowingCheck1.ets" 610 } 611 } 612 } 613 ], 614 "loc": { 615 "start": { 616 "line": 21, 617 "column": 9, 618 "program": "rethrowingCheck1.ets" 619 }, 620 "end": { 621 "line": 23, 622 "column": 6, 623 "program": "rethrowingCheck1.ets" 624 } 625 } 626 }, 627 "handler": [ 628 { 629 "type": "CatchClause", 630 "body": { 631 "type": "BlockStatement", 632 "statements": [], 633 "loc": { 634 "start": { 635 "line": 23, 636 "column": 17, 637 "program": "rethrowingCheck1.ets" 638 }, 639 "end": { 640 "line": 25, 641 "column": 6, 642 "program": "rethrowingCheck1.ets" 643 } 644 } 645 }, 646 "param": { 647 "type": "Identifier", 648 "name": "e", 649 "decorators": [], 650 "loc": { 651 "start": { 652 "line": 23, 653 "column": 14, 654 "program": "rethrowingCheck1.ets" 655 }, 656 "end": { 657 "line": 23, 658 "column": 15, 659 "program": "rethrowingCheck1.ets" 660 } 661 } 662 }, 663 "loc": { 664 "start": { 665 "line": 23, 666 "column": 7, 667 "program": "rethrowingCheck1.ets" 668 }, 669 "end": { 670 "line": 25, 671 "column": 6, 672 "program": "rethrowingCheck1.ets" 673 } 674 } 675 } 676 ], 677 "finalizer": null, 678 "loc": { 679 "start": { 680 "line": 21, 681 "column": 5, 682 "program": "rethrowingCheck1.ets" 683 }, 684 "end": { 685 "line": 25, 686 "column": 6, 687 "program": "rethrowingCheck1.ets" 688 } 689 } 690 } 691 ], 692 "loc": { 693 "start": { 694 "line": 20, 695 "column": 45, 696 "program": "rethrowingCheck1.ets" 697 }, 698 "end": { 699 "line": 26, 700 "column": 2, 701 "program": "rethrowingCheck1.ets" 702 } 703 } 704 }, 705 "throwMarker": "rethrows", 706 "loc": { 707 "start": { 708 "line": 20, 709 "column": 10, 710 "program": "rethrowingCheck1.ets" 711 }, 712 "end": { 713 "line": 26, 714 "column": 2, 715 "program": "rethrowingCheck1.ets" 716 } 717 } 718 }, 719 "loc": { 720 "start": { 721 "line": 20, 722 "column": 10, 723 "program": "rethrowingCheck1.ets" 724 }, 725 "end": { 726 "line": 26, 727 "column": 2, 728 "program": "rethrowingCheck1.ets" 729 } 730 } 731 }, 732 "overloads": [], 733 "decorators": [], 734 "loc": { 735 "start": { 736 "line": 20, 737 "column": 1, 738 "program": "rethrowingCheck1.ets" 739 }, 740 "end": { 741 "line": 26, 742 "column": 2, 743 "program": "rethrowingCheck1.ets" 744 } 745 } 746 } 747 ], 748 "loc": { 749 "start": { 750 "line": 1, 751 "column": 1, 752 "program": "rethrowingCheck1.ets" 753 }, 754 "end": { 755 "line": 1, 756 "column": 1, 757 "program": "rethrowingCheck1.ets" 758 } 759 } 760 }, 761 "loc": { 762 "start": { 763 "line": 1, 764 "column": 1, 765 "program": "rethrowingCheck1.ets" 766 }, 767 "end": { 768 "line": 1, 769 "column": 1, 770 "program": "rethrowingCheck1.ets" 771 } 772 } 773 } 774 ], 775 "loc": { 776 "start": { 777 "line": 1, 778 "column": 1, 779 "program": "rethrowingCheck1.ets" 780 }, 781 "end": { 782 "line": 27, 783 "column": 1, 784 "program": "rethrowingCheck1.ets" 785 } 786 } 787} 788