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 "decorators": [], 562 "loc": { 563 "start": { 564 "line": 17, 565 "column": 9 566 }, 567 "end": { 568 "line": 17, 569 "column": 19 570 } 571 } 572 }, 573 { 574 "type": "UndefinedLiteral", 575 "value": "undefined", 576 "loc": { 577 "start": { 578 "line": 1, 579 "column": 1 580 }, 581 "end": { 582 "line": 1, 583 "column": 1 584 } 585 } 586 } 587 ], 588 "optional": false, 589 "loc": { 590 "start": { 591 "line": 17, 592 "column": 5 593 }, 594 "end": { 595 "line": 19, 596 "column": 6 597 } 598 } 599 }, 600 "loc": { 601 "start": { 602 "line": 1, 603 "column": 1 604 }, 605 "end": { 606 "line": 1, 607 "column": 1 608 } 609 } 610 } 611 ], 612 "loc": { 613 "start": { 614 "line": 1, 615 "column": 1 616 }, 617 "end": { 618 "line": 1, 619 "column": 1 620 } 621 } 622 }, 623 "loc": { 624 "start": { 625 "line": 620, 626 "column": 1 627 }, 628 "end": { 629 "line": 620, 630 "column": 1 631 } 632 } 633 }, 634 "loc": { 635 "start": { 636 "line": 1, 637 "column": 1 638 }, 639 "end": { 640 "line": 1, 641 "column": 1 642 } 643 } 644 }, 645 "overloads": [], 646 "decorators": [], 647 "loc": { 648 "start": { 649 "line": 17, 650 "column": 5 651 }, 652 "end": { 653 "line": 1, 654 "column": 1 655 } 656 } 657 } 658 ], 659 "decorators": [], 660 "loc": { 661 "start": { 662 "line": 17, 663 "column": 5 664 }, 665 "end": { 666 "line": 19, 667 "column": 6 668 } 669 } 670 }, 671 { 672 "type": "MethodDefinition", 673 "key": { 674 "type": "Identifier", 675 "name": "constructor", 676 "decorators": [], 677 "loc": { 678 "start": { 679 "line": 1, 680 "column": 1 681 }, 682 "end": { 683 "line": 1, 684 "column": 1 685 } 686 } 687 }, 688 "kind": "constructor", 689 "static": false, 690 "optional": false, 691 "computed": false, 692 "value": { 693 "type": "FunctionExpression", 694 "function": { 695 "type": "ScriptFunction", 696 "id": { 697 "type": "Identifier", 698 "name": "constructor", 699 "decorators": [], 700 "loc": { 701 "start": { 702 "line": 1, 703 "column": 1 704 }, 705 "end": { 706 "line": 1, 707 "column": 1 708 } 709 } 710 }, 711 "generator": false, 712 "async": false, 713 "expression": false, 714 "params": [], 715 "body": { 716 "type": "BlockStatement", 717 "statements": [], 718 "loc": { 719 "start": { 720 "line": 1, 721 "column": 1 722 }, 723 "end": { 724 "line": 1, 725 "column": 1 726 } 727 } 728 }, 729 "loc": { 730 "start": { 731 "line": 1, 732 "column": 1 733 }, 734 "end": { 735 "line": 1, 736 "column": 1 737 } 738 } 739 }, 740 "loc": { 741 "start": { 742 "line": 1, 743 "column": 1 744 }, 745 "end": { 746 "line": 1, 747 "column": 1 748 } 749 } 750 }, 751 "overloads": [], 752 "decorators": [], 753 "loc": { 754 "start": { 755 "line": 20, 756 "column": 2 757 }, 758 "end": { 759 "line": 20, 760 "column": 2 761 } 762 } 763 } 764 ], 765 "loc": { 766 "start": { 767 "line": 16, 768 "column": 9 769 }, 770 "end": { 771 "line": 20, 772 "column": 2 773 } 774 } 775 }, 776 "loc": { 777 "start": { 778 "line": 16, 779 "column": 1 780 }, 781 "end": { 782 "line": 20, 783 "column": 2 784 } 785 } 786 }, 787 { 788 "type": "ClassDeclaration", 789 "definition": { 790 "id": { 791 "type": "Identifier", 792 "name": "ETSGLOBAL", 793 "decorators": [], 794 "loc": { 795 "start": { 796 "line": 1, 797 "column": 1 798 }, 799 "end": { 800 "line": 1, 801 "column": 1 802 } 803 } 804 }, 805 "superClass": null, 806 "implements": [], 807 "body": [ 808 { 809 "type": "MethodDefinition", 810 "key": { 811 "type": "Identifier", 812 "name": "_$init$_", 813 "decorators": [], 814 "loc": { 815 "start": { 816 "line": 1, 817 "column": 1 818 }, 819 "end": { 820 "line": 1, 821 "column": 1 822 } 823 } 824 }, 825 "kind": "method", 826 "accessibility": "public", 827 "static": true, 828 "optional": false, 829 "computed": false, 830 "value": { 831 "type": "FunctionExpression", 832 "function": { 833 "type": "ScriptFunction", 834 "id": { 835 "type": "Identifier", 836 "name": "_$init$_", 837 "decorators": [], 838 "loc": { 839 "start": { 840 "line": 1, 841 "column": 1 842 }, 843 "end": { 844 "line": 1, 845 "column": 1 846 } 847 } 848 }, 849 "generator": false, 850 "async": false, 851 "expression": false, 852 "params": [], 853 "body": { 854 "type": "BlockStatement", 855 "statements": [], 856 "loc": { 857 "start": { 858 "line": 1, 859 "column": 1 860 }, 861 "end": { 862 "line": 1, 863 "column": 1 864 } 865 } 866 }, 867 "loc": { 868 "start": { 869 "line": 1, 870 "column": 1 871 }, 872 "end": { 873 "line": 1, 874 "column": 1 875 } 876 } 877 }, 878 "loc": { 879 "start": { 880 "line": 1, 881 "column": 1 882 }, 883 "end": { 884 "line": 1, 885 "column": 1 886 } 887 } 888 }, 889 "overloads": [], 890 "decorators": [], 891 "loc": { 892 "start": { 893 "line": 1, 894 "column": 1 895 }, 896 "end": { 897 "line": 1, 898 "column": 1 899 } 900 } 901 }, 902 { 903 "type": "MethodDefinition", 904 "key": { 905 "type": "Identifier", 906 "name": "main", 907 "decorators": [], 908 "loc": { 909 "start": { 910 "line": 22, 911 "column": 10 912 }, 913 "end": { 914 "line": 22, 915 "column": 14 916 } 917 } 918 }, 919 "kind": "method", 920 "accessibility": "public", 921 "static": true, 922 "optional": false, 923 "computed": false, 924 "value": { 925 "type": "FunctionExpression", 926 "function": { 927 "type": "ScriptFunction", 928 "id": { 929 "type": "Identifier", 930 "name": "main", 931 "decorators": [], 932 "loc": { 933 "start": { 934 "line": 22, 935 "column": 10 936 }, 937 "end": { 938 "line": 22, 939 "column": 14 940 } 941 } 942 }, 943 "generator": false, 944 "async": false, 945 "expression": false, 946 "params": [], 947 "body": { 948 "type": "BlockStatement", 949 "statements": [ 950 { 951 "type": "ExpressionStatement", 952 "expression": { 953 "type": "CallExpression", 954 "callee": { 955 "type": "MemberExpression", 956 "object": { 957 "type": "ETSNewClassInstanceExpression", 958 "typeReference": { 959 "type": "ETSTypeReference", 960 "part": { 961 "type": "ETSTypeReferencePart", 962 "name": { 963 "type": "Identifier", 964 "name": "A", 965 "decorators": [], 966 "loc": { 967 "start": { 968 "line": 23, 969 "column": 9 970 }, 971 "end": { 972 "line": 23, 973 "column": 10 974 } 975 } 976 }, 977 "loc": { 978 "start": { 979 "line": 23, 980 "column": 9 981 }, 982 "end": { 983 "line": 23, 984 "column": 11 985 } 986 } 987 }, 988 "loc": { 989 "start": { 990 "line": 23, 991 "column": 9 992 }, 993 "end": { 994 "line": 23, 995 "column": 11 996 } 997 } 998 }, 999 "arguments": [], 1000 "loc": { 1001 "start": { 1002 "line": 23, 1003 "column": 5 1004 }, 1005 "end": { 1006 "line": 23, 1007 "column": 13 1008 } 1009 } 1010 }, 1011 "property": { 1012 "type": "Identifier", 1013 "name": "met", 1014 "decorators": [], 1015 "loc": { 1016 "start": { 1017 "line": 23, 1018 "column": 13 1019 }, 1020 "end": { 1021 "line": 23, 1022 "column": 16 1023 } 1024 } 1025 }, 1026 "computed": false, 1027 "optional": false, 1028 "loc": { 1029 "start": { 1030 "line": 23, 1031 "column": 5 1032 }, 1033 "end": { 1034 "line": 23, 1035 "column": 16 1036 } 1037 } 1038 }, 1039 "arguments": [ 1040 { 1041 "type": "StringLiteral", 1042 "value": "S", 1043 "loc": { 1044 "start": { 1045 "line": 23, 1046 "column": 17 1047 }, 1048 "end": { 1049 "line": 23, 1050 "column": 20 1051 } 1052 } 1053 } 1054 ], 1055 "optional": false, 1056 "loc": { 1057 "start": { 1058 "line": 23, 1059 "column": 5 1060 }, 1061 "end": { 1062 "line": 23, 1063 "column": 21 1064 } 1065 } 1066 }, 1067 "loc": { 1068 "start": { 1069 "line": 23, 1070 "column": 5 1071 }, 1072 "end": { 1073 "line": 23, 1074 "column": 21 1075 } 1076 } 1077 } 1078 ], 1079 "loc": { 1080 "start": { 1081 "line": 22, 1082 "column": 17 1083 }, 1084 "end": { 1085 "line": 24, 1086 "column": 2 1087 } 1088 } 1089 }, 1090 "loc": { 1091 "start": { 1092 "line": 22, 1093 "column": 10 1094 }, 1095 "end": { 1096 "line": 24, 1097 "column": 2 1098 } 1099 } 1100 }, 1101 "loc": { 1102 "start": { 1103 "line": 22, 1104 "column": 10 1105 }, 1106 "end": { 1107 "line": 24, 1108 "column": 2 1109 } 1110 } 1111 }, 1112 "overloads": [], 1113 "decorators": [], 1114 "loc": { 1115 "start": { 1116 "line": 22, 1117 "column": 1 1118 }, 1119 "end": { 1120 "line": 24, 1121 "column": 2 1122 } 1123 } 1124 } 1125 ], 1126 "loc": { 1127 "start": { 1128 "line": 1, 1129 "column": 1 1130 }, 1131 "end": { 1132 "line": 1, 1133 "column": 1 1134 } 1135 } 1136 }, 1137 "loc": { 1138 "start": { 1139 "line": 1, 1140 "column": 1 1141 }, 1142 "end": { 1143 "line": 1, 1144 "column": 1 1145 } 1146 } 1147 } 1148 ], 1149 "loc": { 1150 "start": { 1151 "line": 1, 1152 "column": 1 1153 }, 1154 "end": { 1155 "line": 25, 1156 "column": 1 1157 } 1158 } 1159} 1160