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