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