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": "met", 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": "met", 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 { 71 "type": "ETSParameterExpression", 72 "name": { 73 "type": "Identifier", 74 "name": "s", 75 "typeAnnotation": { 76 "type": "ETSTypeReference", 77 "part": { 78 "type": "ETSTypeReferencePart", 79 "name": { 80 "type": "Identifier", 81 "name": "string", 82 "decorators": [], 83 "loc": { 84 "start": { 85 "line": 17, 86 "column": 12 87 }, 88 "end": { 89 "line": 17, 90 "column": 18 91 } 92 } 93 }, 94 "loc": { 95 "start": { 96 "line": 17, 97 "column": 12 98 }, 99 "end": { 100 "line": 17, 101 "column": 19 102 } 103 } 104 }, 105 "loc": { 106 "start": { 107 "line": 17, 108 "column": 12 109 }, 110 "end": { 111 "line": 17, 112 "column": 19 113 } 114 } 115 }, 116 "decorators": [], 117 "loc": { 118 "start": { 119 "line": 17, 120 "column": 9 121 }, 122 "end": { 123 "line": 17, 124 "column": 19 125 } 126 } 127 }, 128 "loc": { 129 "start": { 130 "line": 17, 131 "column": 9 132 }, 133 "end": { 134 "line": 17, 135 "column": 19 136 } 137 } 138 }, 139 { 140 "type": "ETSParameterExpression", 141 "name": { 142 "type": "Identifier", 143 "name": "q", 144 "typeAnnotation": { 145 "type": "ETSUnionType", 146 "types": [ 147 { 148 "type": "ETSTypeReference", 149 "part": { 150 "type": "ETSTypeReferencePart", 151 "name": { 152 "type": "Identifier", 153 "name": "string", 154 "decorators": [], 155 "loc": { 156 "start": { 157 "line": 17, 158 "column": 24 159 }, 160 "end": { 161 "line": 17, 162 "column": 30 163 } 164 } 165 }, 166 "loc": { 167 "start": { 168 "line": 17, 169 "column": 24 170 }, 171 "end": { 172 "line": 17, 173 "column": 31 174 } 175 } 176 }, 177 "loc": { 178 "start": { 179 "line": 17, 180 "column": 24 181 }, 182 "end": { 183 "line": 17, 184 "column": 31 185 } 186 } 187 }, 188 { 189 "type": "ETSUndefinedType", 190 "loc": { 191 "start": { 192 "line": 17, 193 "column": 21 194 }, 195 "end": { 196 "line": 17, 197 "column": 22 198 } 199 } 200 } 201 ], 202 "loc": { 203 "start": { 204 "line": 17, 205 "column": 24 206 }, 207 "end": { 208 "line": 17, 209 "column": 31 210 } 211 } 212 }, 213 "decorators": [], 214 "loc": { 215 "start": { 216 "line": 17, 217 "column": 20 218 }, 219 "end": { 220 "line": 17, 221 "column": 31 222 } 223 } 224 }, 225 "loc": { 226 "start": { 227 "line": 17, 228 "column": 20 229 }, 230 "end": { 231 "line": 17, 232 "column": 31 233 } 234 } 235 } 236 ], 237 "body": { 238 "type": "BlockStatement", 239 "statements": [ 240 { 241 "type": "ExpressionStatement", 242 "expression": { 243 "type": "CallExpression", 244 "callee": { 245 "type": "MemberExpression", 246 "object": { 247 "type": "Identifier", 248 "name": "console", 249 "decorators": [], 250 "loc": { 251 "start": { 252 "line": 18, 253 "column": 9 254 }, 255 "end": { 256 "line": 18, 257 "column": 16 258 } 259 } 260 }, 261 "property": { 262 "type": "Identifier", 263 "name": "log", 264 "decorators": [], 265 "loc": { 266 "start": { 267 "line": 18, 268 "column": 17 269 }, 270 "end": { 271 "line": 18, 272 "column": 20 273 } 274 } 275 }, 276 "computed": false, 277 "optional": false, 278 "loc": { 279 "start": { 280 "line": 18, 281 "column": 9 282 }, 283 "end": { 284 "line": 18, 285 "column": 20 286 } 287 } 288 }, 289 "arguments": [ 290 { 291 "type": "BinaryExpression", 292 "operator": "+", 293 "left": { 294 "type": "StringLiteral", 295 "value": "met ", 296 "loc": { 297 "start": { 298 "line": 18, 299 "column": 21 300 }, 301 "end": { 302 "line": 18, 303 "column": 27 304 } 305 } 306 }, 307 "right": { 308 "type": "Identifier", 309 "name": "s", 310 "decorators": [], 311 "loc": { 312 "start": { 313 "line": 18, 314 "column": 30 315 }, 316 "end": { 317 "line": 18, 318 "column": 31 319 } 320 } 321 }, 322 "loc": { 323 "start": { 324 "line": 18, 325 "column": 21 326 }, 327 "end": { 328 "line": 18, 329 "column": 31 330 } 331 } 332 } 333 ], 334 "optional": false, 335 "loc": { 336 "start": { 337 "line": 18, 338 "column": 9 339 }, 340 "end": { 341 "line": 18, 342 "column": 32 343 } 344 } 345 }, 346 "loc": { 347 "start": { 348 "line": 18, 349 "column": 9 350 }, 351 "end": { 352 "line": 18, 353 "column": 32 354 } 355 } 356 } 357 ], 358 "loc": { 359 "start": { 360 "line": 17, 361 "column": 31 362 }, 363 "end": { 364 "line": 19, 365 "column": 6 366 } 367 } 368 }, 369 "loc": { 370 "start": { 371 "line": 17, 372 "column": 8 373 }, 374 "end": { 375 "line": 19, 376 "column": 6 377 } 378 } 379 }, 380 "loc": { 381 "start": { 382 "line": 17, 383 "column": 8 384 }, 385 "end": { 386 "line": 19, 387 "column": 6 388 } 389 } 390 }, 391 "overloads": [ 392 { 393 "type": "MethodDefinition", 394 "key": { 395 "type": "Identifier", 396 "name": "met", 397 "decorators": [], 398 "loc": { 399 "start": { 400 "line": 17, 401 "column": 5 402 }, 403 "end": { 404 "line": 17, 405 "column": 8 406 } 407 } 408 }, 409 "kind": "method", 410 "accessibility": "public", 411 "static": false, 412 "optional": false, 413 "computed": false, 414 "value": { 415 "type": "FunctionExpression", 416 "function": { 417 "type": "ScriptFunction", 418 "id": { 419 "type": "Identifier", 420 "name": "met", 421 "decorators": [], 422 "loc": { 423 "start": { 424 "line": 17, 425 "column": 5 426 }, 427 "end": { 428 "line": 17, 429 "column": 8 430 } 431 } 432 }, 433 "generator": false, 434 "async": false, 435 "expression": false, 436 "params": [ 437 { 438 "type": "ETSParameterExpression", 439 "name": { 440 "type": "Identifier", 441 "name": "s", 442 "typeAnnotation": { 443 "type": "ETSTypeReference", 444 "part": { 445 "type": "ETSTypeReferencePart", 446 "name": { 447 "type": "Identifier", 448 "name": "string", 449 "decorators": [], 450 "loc": { 451 "start": { 452 "line": 17, 453 "column": 12 454 }, 455 "end": { 456 "line": 17, 457 "column": 18 458 } 459 } 460 }, 461 "loc": { 462 "start": { 463 "line": 17, 464 "column": 12 465 }, 466 "end": { 467 "line": 17, 468 "column": 19 469 } 470 } 471 }, 472 "loc": { 473 "start": { 474 "line": 17, 475 "column": 12 476 }, 477 "end": { 478 "line": 17, 479 "column": 19 480 } 481 } 482 }, 483 "decorators": [], 484 "loc": { 485 "start": { 486 "line": 17, 487 "column": 9 488 }, 489 "end": { 490 "line": 17, 491 "column": 19 492 } 493 } 494 }, 495 "loc": { 496 "start": { 497 "line": 1, 498 "column": 1 499 }, 500 "end": { 501 "line": 1, 502 "column": 1 503 } 504 } 505 } 506 ], 507 "body": { 508 "type": "BlockStatement", 509 "statements": [ 510 { 511 "type": "ExpressionStatement", 512 "expression": { 513 "type": "CallExpression", 514 "callee": { 515 "type": "MemberExpression", 516 "object": { 517 "type": "ThisExpression", 518 "loc": { 519 "start": { 520 "line": 1, 521 "column": 1 522 }, 523 "end": { 524 "line": 1, 525 "column": 1 526 } 527 } 528 }, 529 "property": { 530 "type": "Identifier", 531 "name": "met", 532 "decorators": [], 533 "loc": { 534 "start": { 535 "line": 1, 536 "column": 1 537 }, 538 "end": { 539 "line": 1, 540 "column": 1 541 } 542 } 543 }, 544 "computed": false, 545 "optional": false, 546 "loc": { 547 "start": { 548 "line": 1, 549 "column": 1 550 }, 551 "end": { 552 "line": 1, 553 "column": 1 554 } 555 } 556 }, 557 "arguments": [ 558 { 559 "type": "Identifier", 560 "name": "s", 561 "typeAnnotation": { 562 "type": "ETSTypeReference", 563 "part": { 564 "type": "ETSTypeReferencePart", 565 "name": { 566 "type": "Identifier", 567 "name": "string", 568 "decorators": [], 569 "loc": { 570 "start": { 571 "line": 17, 572 "column": 12 573 }, 574 "end": { 575 "line": 17, 576 "column": 18 577 } 578 } 579 }, 580 "loc": { 581 "start": { 582 "line": 17, 583 "column": 12 584 }, 585 "end": { 586 "line": 17, 587 "column": 19 588 } 589 } 590 }, 591 "loc": { 592 "start": { 593 "line": 17, 594 "column": 12 595 }, 596 "end": { 597 "line": 17, 598 "column": 19 599 } 600 } 601 }, 602 "decorators": [], 603 "loc": { 604 "start": { 605 "line": 17, 606 "column": 9 607 }, 608 "end": { 609 "line": 17, 610 "column": 19 611 } 612 } 613 }, 614 { 615 "type": "UndefinedLiteral", 616 "value": undefined, 617 "loc": { 618 "start": { 619 "line": 1, 620 "column": 1 621 }, 622 "end": { 623 "line": 1, 624 "column": 1 625 } 626 } 627 } 628 ], 629 "optional": false, 630 "loc": { 631 "start": { 632 "line": 17, 633 "column": 5 634 }, 635 "end": { 636 "line": 19, 637 "column": 6 638 } 639 } 640 }, 641 "loc": { 642 "start": { 643 "line": 1, 644 "column": 1 645 }, 646 "end": { 647 "line": 1, 648 "column": 1 649 } 650 } 651 } 652 ], 653 "loc": { 654 "start": { 655 "line": 1, 656 "column": 1 657 }, 658 "end": { 659 "line": 1, 660 "column": 1 661 } 662 } 663 }, 664 "loc": { 665 "start": { 666 "line": 620, 667 "column": 1 668 }, 669 "end": { 670 "line": 620, 671 "column": 1 672 } 673 } 674 }, 675 "loc": { 676 "start": { 677 "line": 1, 678 "column": 1 679 }, 680 "end": { 681 "line": 1, 682 "column": 1 683 } 684 } 685 }, 686 "overloads": [], 687 "decorators": [], 688 "loc": { 689 "start": { 690 "line": 17, 691 "column": 5 692 }, 693 "end": { 694 "line": 1, 695 "column": 1 696 } 697 } 698 } 699 ], 700 "decorators": [], 701 "loc": { 702 "start": { 703 "line": 17, 704 "column": 5 705 }, 706 "end": { 707 "line": 19, 708 "column": 6 709 } 710 } 711 }, 712 { 713 "type": "MethodDefinition", 714 "key": { 715 "type": "Identifier", 716 "name": "constructor", 717 "decorators": [], 718 "loc": { 719 "start": { 720 "line": 1, 721 "column": 1 722 }, 723 "end": { 724 "line": 1, 725 "column": 1 726 } 727 } 728 }, 729 "kind": "constructor", 730 "static": false, 731 "optional": false, 732 "computed": false, 733 "value": { 734 "type": "FunctionExpression", 735 "function": { 736 "type": "ScriptFunction", 737 "id": { 738 "type": "Identifier", 739 "name": "constructor", 740 "decorators": [], 741 "loc": { 742 "start": { 743 "line": 1, 744 "column": 1 745 }, 746 "end": { 747 "line": 1, 748 "column": 1 749 } 750 } 751 }, 752 "generator": false, 753 "async": false, 754 "expression": false, 755 "params": [], 756 "body": { 757 "type": "BlockStatement", 758 "statements": [], 759 "loc": { 760 "start": { 761 "line": 1, 762 "column": 1 763 }, 764 "end": { 765 "line": 1, 766 "column": 1 767 } 768 } 769 }, 770 "loc": { 771 "start": { 772 "line": 1, 773 "column": 1 774 }, 775 "end": { 776 "line": 1, 777 "column": 1 778 } 779 } 780 }, 781 "loc": { 782 "start": { 783 "line": 1, 784 "column": 1 785 }, 786 "end": { 787 "line": 1, 788 "column": 1 789 } 790 } 791 }, 792 "overloads": [], 793 "decorators": [], 794 "loc": { 795 "start": { 796 "line": 20, 797 "column": 2 798 }, 799 "end": { 800 "line": 20, 801 "column": 2 802 } 803 } 804 } 805 ], 806 "loc": { 807 "start": { 808 "line": 16, 809 "column": 9 810 }, 811 "end": { 812 "line": 20, 813 "column": 2 814 } 815 } 816 }, 817 "loc": { 818 "start": { 819 "line": 16, 820 "column": 1 821 }, 822 "end": { 823 "line": 20, 824 "column": 2 825 } 826 } 827 }, 828 { 829 "type": "ClassDeclaration", 830 "definition": { 831 "id": { 832 "type": "Identifier", 833 "name": "ETSGLOBAL", 834 "decorators": [], 835 "loc": { 836 "start": { 837 "line": 1, 838 "column": 1 839 }, 840 "end": { 841 "line": 1, 842 "column": 1 843 } 844 } 845 }, 846 "superClass": null, 847 "implements": [], 848 "body": [ 849 { 850 "type": "MethodDefinition", 851 "key": { 852 "type": "Identifier", 853 "name": "_$init$_", 854 "decorators": [], 855 "loc": { 856 "start": { 857 "line": 1, 858 "column": 1 859 }, 860 "end": { 861 "line": 1, 862 "column": 1 863 } 864 } 865 }, 866 "kind": "method", 867 "accessibility": "public", 868 "static": true, 869 "optional": false, 870 "computed": false, 871 "value": { 872 "type": "FunctionExpression", 873 "function": { 874 "type": "ScriptFunction", 875 "id": { 876 "type": "Identifier", 877 "name": "_$init$_", 878 "decorators": [], 879 "loc": { 880 "start": { 881 "line": 1, 882 "column": 1 883 }, 884 "end": { 885 "line": 1, 886 "column": 1 887 } 888 } 889 }, 890 "generator": false, 891 "async": false, 892 "expression": false, 893 "params": [], 894 "body": { 895 "type": "BlockStatement", 896 "statements": [], 897 "loc": { 898 "start": { 899 "line": 1, 900 "column": 1 901 }, 902 "end": { 903 "line": 1, 904 "column": 1 905 } 906 } 907 }, 908 "loc": { 909 "start": { 910 "line": 1, 911 "column": 1 912 }, 913 "end": { 914 "line": 1, 915 "column": 1 916 } 917 } 918 }, 919 "loc": { 920 "start": { 921 "line": 1, 922 "column": 1 923 }, 924 "end": { 925 "line": 1, 926 "column": 1 927 } 928 } 929 }, 930 "overloads": [], 931 "decorators": [], 932 "loc": { 933 "start": { 934 "line": 1, 935 "column": 1 936 }, 937 "end": { 938 "line": 1, 939 "column": 1 940 } 941 } 942 }, 943 { 944 "type": "MethodDefinition", 945 "key": { 946 "type": "Identifier", 947 "name": "main", 948 "decorators": [], 949 "loc": { 950 "start": { 951 "line": 22, 952 "column": 10 953 }, 954 "end": { 955 "line": 22, 956 "column": 14 957 } 958 } 959 }, 960 "kind": "method", 961 "accessibility": "public", 962 "static": true, 963 "optional": false, 964 "computed": false, 965 "value": { 966 "type": "FunctionExpression", 967 "function": { 968 "type": "ScriptFunction", 969 "id": { 970 "type": "Identifier", 971 "name": "main", 972 "decorators": [], 973 "loc": { 974 "start": { 975 "line": 22, 976 "column": 10 977 }, 978 "end": { 979 "line": 22, 980 "column": 14 981 } 982 } 983 }, 984 "generator": false, 985 "async": false, 986 "expression": false, 987 "params": [], 988 "body": { 989 "type": "BlockStatement", 990 "statements": [ 991 { 992 "type": "ExpressionStatement", 993 "expression": { 994 "type": "CallExpression", 995 "callee": { 996 "type": "MemberExpression", 997 "object": { 998 "type": "ETSNewClassInstanceExpression", 999 "typeReference": { 1000 "type": "ETSTypeReference", 1001 "part": { 1002 "type": "ETSTypeReferencePart", 1003 "name": { 1004 "type": "Identifier", 1005 "name": "A", 1006 "decorators": [], 1007 "loc": { 1008 "start": { 1009 "line": 23, 1010 "column": 9 1011 }, 1012 "end": { 1013 "line": 23, 1014 "column": 10 1015 } 1016 } 1017 }, 1018 "loc": { 1019 "start": { 1020 "line": 23, 1021 "column": 9 1022 }, 1023 "end": { 1024 "line": 23, 1025 "column": 11 1026 } 1027 } 1028 }, 1029 "loc": { 1030 "start": { 1031 "line": 23, 1032 "column": 9 1033 }, 1034 "end": { 1035 "line": 23, 1036 "column": 11 1037 } 1038 } 1039 }, 1040 "arguments": [], 1041 "loc": { 1042 "start": { 1043 "line": 23, 1044 "column": 5 1045 }, 1046 "end": { 1047 "line": 23, 1048 "column": 13 1049 } 1050 } 1051 }, 1052 "property": { 1053 "type": "Identifier", 1054 "name": "met", 1055 "decorators": [], 1056 "loc": { 1057 "start": { 1058 "line": 23, 1059 "column": 13 1060 }, 1061 "end": { 1062 "line": 23, 1063 "column": 16 1064 } 1065 } 1066 }, 1067 "computed": false, 1068 "optional": false, 1069 "loc": { 1070 "start": { 1071 "line": 23, 1072 "column": 5 1073 }, 1074 "end": { 1075 "line": 23, 1076 "column": 16 1077 } 1078 } 1079 }, 1080 "arguments": [ 1081 { 1082 "type": "StringLiteral", 1083 "value": "S", 1084 "loc": { 1085 "start": { 1086 "line": 23, 1087 "column": 17 1088 }, 1089 "end": { 1090 "line": 23, 1091 "column": 20 1092 } 1093 } 1094 } 1095 ], 1096 "optional": false, 1097 "loc": { 1098 "start": { 1099 "line": 23, 1100 "column": 5 1101 }, 1102 "end": { 1103 "line": 23, 1104 "column": 21 1105 } 1106 } 1107 }, 1108 "loc": { 1109 "start": { 1110 "line": 23, 1111 "column": 5 1112 }, 1113 "end": { 1114 "line": 23, 1115 "column": 21 1116 } 1117 } 1118 } 1119 ], 1120 "loc": { 1121 "start": { 1122 "line": 22, 1123 "column": 17 1124 }, 1125 "end": { 1126 "line": 24, 1127 "column": 2 1128 } 1129 } 1130 }, 1131 "loc": { 1132 "start": { 1133 "line": 22, 1134 "column": 14 1135 }, 1136 "end": { 1137 "line": 24, 1138 "column": 2 1139 } 1140 } 1141 }, 1142 "loc": { 1143 "start": { 1144 "line": 22, 1145 "column": 14 1146 }, 1147 "end": { 1148 "line": 24, 1149 "column": 2 1150 } 1151 } 1152 }, 1153 "overloads": [], 1154 "decorators": [], 1155 "loc": { 1156 "start": { 1157 "line": 22, 1158 "column": 1 1159 }, 1160 "end": { 1161 "line": 24, 1162 "column": 2 1163 } 1164 } 1165 } 1166 ], 1167 "loc": { 1168 "start": { 1169 "line": 1, 1170 "column": 1 1171 }, 1172 "end": { 1173 "line": 1, 1174 "column": 1 1175 } 1176 } 1177 }, 1178 "loc": { 1179 "start": { 1180 "line": 1, 1181 "column": 1 1182 }, 1183 "end": { 1184 "line": 1, 1185 "column": 1 1186 } 1187 } 1188 } 1189 ], 1190 "loc": { 1191 "start": { 1192 "line": 1, 1193 "column": 1 1194 }, 1195 "end": { 1196 "line": 25, 1197 "column": 1 1198 } 1199 } 1200} 1201