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": "throwInRethrowingFunction2.ets" 16 }, 17 "end": { 18 "line": 1, 19 "column": 1, 20 "program": "throwInRethrowingFunction2.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": "throwInRethrowingFunction2.ets" 125 }, 126 "end": { 127 "line": 1, 128 "column": 1, 129 "program": "throwInRethrowingFunction2.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": "throwInRethrowingFunction2.ets" 231 }, 232 "end": { 233 "line": 1, 234 "column": 1, 235 "program": "throwInRethrowingFunction2.ets" 236 } 237 } 238 }, 239 { 240 "type": "MethodDefinition", 241 "key": { 242 "type": "Identifier", 243 "name": "RethrowingFunc", 244 "decorators": [], 245 "loc": { 246 "start": { 247 "line": 16, 248 "column": 10, 249 "program": "throwInRethrowingFunction2.ets" 250 }, 251 "end": { 252 "line": 16, 253 "column": 24, 254 "program": "throwInRethrowingFunction2.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": "RethrowingFunc", 270 "decorators": [], 271 "loc": { 272 "start": { 273 "line": 16, 274 "column": 10, 275 "program": "throwInRethrowingFunction2.ets" 276 }, 277 "end": { 278 "line": 16, 279 "column": 24, 280 "program": "throwInRethrowingFunction2.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": "f", 293 "typeAnnotation": { 294 "type": "ETSFunctionType", 295 "params": [], 296 "returnType": { 297 "type": "ETSPrimitiveType", 298 "loc": { 299 "start": { 300 "line": 16, 301 "column": 34, 302 "program": "throwInRethrowingFunction2.ets" 303 }, 304 "end": { 305 "line": 16, 306 "column": 38, 307 "program": "throwInRethrowingFunction2.ets" 308 } 309 } 310 }, 311 "throwMarker": "throws", 312 "loc": { 313 "start": { 314 "line": 16, 315 "column": 28, 316 "program": "throwInRethrowingFunction2.ets" 317 }, 318 "end": { 319 "line": 16, 320 "column": 38, 321 "program": "throwInRethrowingFunction2.ets" 322 } 323 } 324 }, 325 "decorators": [], 326 "loc": { 327 "start": { 328 "line": 16, 329 "column": 25, 330 "program": "throwInRethrowingFunction2.ets" 331 }, 332 "end": { 333 "line": 16, 334 "column": 38, 335 "program": "throwInRethrowingFunction2.ets" 336 } 337 } 338 }, 339 "loc": { 340 "start": { 341 "line": 16, 342 "column": 25, 343 "program": "throwInRethrowingFunction2.ets" 344 }, 345 "end": { 346 "line": 16, 347 "column": 38, 348 "program": "throwInRethrowingFunction2.ets" 349 } 350 } 351 } 352 ], 353 "body": { 354 "type": "BlockStatement", 355 "statements": [ 356 { 357 "type": "TryStatement", 358 "block": { 359 "type": "BlockStatement", 360 "statements": [ 361 { 362 "type": "ThrowStatement", 363 "argument": { 364 "type": "ETSNewClassInstanceExpression", 365 "typeReference": { 366 "type": "ETSTypeReference", 367 "part": { 368 "type": "ETSTypeReferencePart", 369 "name": { 370 "type": "Identifier", 371 "name": "Exception", 372 "decorators": [], 373 "loc": { 374 "start": { 375 "line": 18, 376 "column": 15, 377 "program": "throwInRethrowingFunction2.ets" 378 }, 379 "end": { 380 "line": 18, 381 "column": 24, 382 "program": "throwInRethrowingFunction2.ets" 383 } 384 } 385 }, 386 "loc": { 387 "start": { 388 "line": 18, 389 "column": 15, 390 "program": "throwInRethrowingFunction2.ets" 391 }, 392 "end": { 393 "line": 18, 394 "column": 25, 395 "program": "throwInRethrowingFunction2.ets" 396 } 397 } 398 }, 399 "loc": { 400 "start": { 401 "line": 18, 402 "column": 15, 403 "program": "throwInRethrowingFunction2.ets" 404 }, 405 "end": { 406 "line": 18, 407 "column": 25, 408 "program": "throwInRethrowingFunction2.ets" 409 } 410 } 411 }, 412 "arguments": [], 413 "loc": { 414 "start": { 415 "line": 18, 416 "column": 11, 417 "program": "throwInRethrowingFunction2.ets" 418 }, 419 "end": { 420 "line": 18, 421 "column": 27, 422 "program": "throwInRethrowingFunction2.ets" 423 } 424 } 425 }, 426 "loc": { 427 "start": { 428 "line": 18, 429 "column": 5, 430 "program": "throwInRethrowingFunction2.ets" 431 }, 432 "end": { 433 "line": 18, 434 "column": 27, 435 "program": "throwInRethrowingFunction2.ets" 436 } 437 } 438 } 439 ], 440 "loc": { 441 "start": { 442 "line": 17, 443 "column": 7, 444 "program": "throwInRethrowingFunction2.ets" 445 }, 446 "end": { 447 "line": 19, 448 "column": 4, 449 "program": "throwInRethrowingFunction2.ets" 450 } 451 } 452 }, 453 "handler": [ 454 { 455 "type": "CatchClause", 456 "body": { 457 "type": "BlockStatement", 458 "statements": [], 459 "loc": { 460 "start": { 461 "line": 19, 462 "column": 15, 463 "program": "throwInRethrowingFunction2.ets" 464 }, 465 "end": { 466 "line": 19, 467 "column": 17, 468 "program": "throwInRethrowingFunction2.ets" 469 } 470 } 471 }, 472 "param": { 473 "type": "Identifier", 474 "name": "e", 475 "decorators": [], 476 "loc": { 477 "start": { 478 "line": 19, 479 "column": 12, 480 "program": "throwInRethrowingFunction2.ets" 481 }, 482 "end": { 483 "line": 19, 484 "column": 13, 485 "program": "throwInRethrowingFunction2.ets" 486 } 487 } 488 }, 489 "loc": { 490 "start": { 491 "line": 19, 492 "column": 5, 493 "program": "throwInRethrowingFunction2.ets" 494 }, 495 "end": { 496 "line": 19, 497 "column": 17, 498 "program": "throwInRethrowingFunction2.ets" 499 } 500 } 501 } 502 ], 503 "finalizer": null, 504 "loc": { 505 "start": { 506 "line": 17, 507 "column": 3, 508 "program": "throwInRethrowingFunction2.ets" 509 }, 510 "end": { 511 "line": 19, 512 "column": 17, 513 "program": "throwInRethrowingFunction2.ets" 514 } 515 } 516 }, 517 { 518 "type": "ExpressionStatement", 519 "expression": { 520 "type": "CallExpression", 521 "callee": { 522 "type": "Identifier", 523 "name": "f", 524 "decorators": [], 525 "loc": { 526 "start": { 527 "line": 21, 528 "column": 3, 529 "program": "throwInRethrowingFunction2.ets" 530 }, 531 "end": { 532 "line": 21, 533 "column": 4, 534 "program": "throwInRethrowingFunction2.ets" 535 } 536 } 537 }, 538 "arguments": [], 539 "optional": false, 540 "loc": { 541 "start": { 542 "line": 21, 543 "column": 3, 544 "program": "throwInRethrowingFunction2.ets" 545 }, 546 "end": { 547 "line": 21, 548 "column": 6, 549 "program": "throwInRethrowingFunction2.ets" 550 } 551 } 552 }, 553 "loc": { 554 "start": { 555 "line": 21, 556 "column": 3, 557 "program": "throwInRethrowingFunction2.ets" 558 }, 559 "end": { 560 "line": 21, 561 "column": 7, 562 "program": "throwInRethrowingFunction2.ets" 563 } 564 } 565 } 566 ], 567 "loc": { 568 "start": { 569 "line": 16, 570 "column": 56, 571 "program": "throwInRethrowingFunction2.ets" 572 }, 573 "end": { 574 "line": 22, 575 "column": 2, 576 "program": "throwInRethrowingFunction2.ets" 577 } 578 } 579 }, 580 "throwMarker": "rethrows", 581 "loc": { 582 "start": { 583 "line": 16, 584 "column": 10, 585 "program": "throwInRethrowingFunction2.ets" 586 }, 587 "end": { 588 "line": 22, 589 "column": 2, 590 "program": "throwInRethrowingFunction2.ets" 591 } 592 } 593 }, 594 "loc": { 595 "start": { 596 "line": 16, 597 "column": 10, 598 "program": "throwInRethrowingFunction2.ets" 599 }, 600 "end": { 601 "line": 22, 602 "column": 2, 603 "program": "throwInRethrowingFunction2.ets" 604 } 605 } 606 }, 607 "overloads": [], 608 "decorators": [], 609 "loc": { 610 "start": { 611 "line": 16, 612 "column": 1, 613 "program": "throwInRethrowingFunction2.ets" 614 }, 615 "end": { 616 "line": 22, 617 "column": 2, 618 "program": "throwInRethrowingFunction2.ets" 619 } 620 } 621 } 622 ], 623 "loc": { 624 "start": { 625 "line": 1, 626 "column": 1, 627 "program": "throwInRethrowingFunction2.ets" 628 }, 629 "end": { 630 "line": 1, 631 "column": 1, 632 "program": "throwInRethrowingFunction2.ets" 633 } 634 } 635 }, 636 "loc": { 637 "start": { 638 "line": 1, 639 "column": 1, 640 "program": "throwInRethrowingFunction2.ets" 641 }, 642 "end": { 643 "line": 1, 644 "column": 1, 645 "program": "throwInRethrowingFunction2.ets" 646 } 647 } 648 } 649 ], 650 "loc": { 651 "start": { 652 "line": 1, 653 "column": 1, 654 "program": "throwInRethrowingFunction2.ets" 655 }, 656 "end": { 657 "line": 23, 658 "column": 1, 659 "program": "throwInRethrowingFunction2.ets" 660 } 661 } 662} 663