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