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