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