1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "cls", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 16, 14 "column": 7 15 }, 16 "end": { 17 "line": 16, 18 "column": 10 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": 13 111 }, 112 "end": { 113 "line": 16, 114 "column": 13 115 } 116 } 117 } 118 ], 119 "loc": { 120 "start": { 121 "line": 16, 122 "column": 11 123 }, 124 "end": { 125 "line": 16, 126 "column": 13 127 } 128 } 129 }, 130 "loc": { 131 "start": { 132 "line": 16, 133 "column": 1 134 }, 135 "end": { 136 "line": 16, 137 "column": 13 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 { 211 "type": "ExpressionStatement", 212 "expression": { 213 "type": "AssignmentExpression", 214 "operator": "=", 215 "left": { 216 "type": "Identifier", 217 "name": "b", 218 "decorators": [], 219 "loc": { 220 "start": { 221 "line": 18, 222 "column": 5 223 }, 224 "end": { 225 "line": 18, 226 "column": 6 227 } 228 } 229 }, 230 "right": { 231 "type": "NullLiteral", 232 "value": null, 233 "loc": { 234 "start": { 235 "line": 18, 236 "column": 22 237 }, 238 "end": { 239 "line": 18, 240 "column": 26 241 } 242 } 243 }, 244 "loc": { 245 "start": { 246 "line": 18, 247 "column": 5 248 }, 249 "end": { 250 "line": 18, 251 "column": 26 252 } 253 } 254 }, 255 "loc": { 256 "start": { 257 "line": 18, 258 "column": 5 259 }, 260 "end": { 261 "line": 18, 262 "column": 26 263 } 264 } 265 }, 266 { 267 "type": "ExpressionStatement", 268 "expression": { 269 "type": "AssignmentExpression", 270 "operator": "=", 271 "left": { 272 "type": "Identifier", 273 "name": "c", 274 "decorators": [], 275 "loc": { 276 "start": { 277 "line": 19, 278 "column": 5 279 }, 280 "end": { 281 "line": 19, 282 "column": 6 283 } 284 } 285 }, 286 "right": { 287 "type": "ETSNewClassInstanceExpression", 288 "typeReference": { 289 "type": "ETSTypeReference", 290 "part": { 291 "type": "ETSTypeReferencePart", 292 "name": { 293 "type": "Identifier", 294 "name": "cls", 295 "decorators": [], 296 "loc": { 297 "start": { 298 "line": 19, 299 "column": 19 300 }, 301 "end": { 302 "line": 19, 303 "column": 22 304 } 305 } 306 }, 307 "loc": { 308 "start": { 309 "line": 19, 310 "column": 19 311 }, 312 "end": { 313 "line": 19, 314 "column": 23 315 } 316 } 317 }, 318 "loc": { 319 "start": { 320 "line": 19, 321 "column": 19 322 }, 323 "end": { 324 "line": 19, 325 "column": 23 326 } 327 } 328 }, 329 "arguments": [], 330 "loc": { 331 "start": { 332 "line": 19, 333 "column": 15 334 }, 335 "end": { 336 "line": 19, 337 "column": 25 338 } 339 } 340 }, 341 "loc": { 342 "start": { 343 "line": 19, 344 "column": 5 345 }, 346 "end": { 347 "line": 19, 348 "column": 25 349 } 350 } 351 }, 352 "loc": { 353 "start": { 354 "line": 19, 355 "column": 5 356 }, 357 "end": { 358 "line": 19, 359 "column": 25 360 } 361 } 362 } 363 ], 364 "loc": { 365 "start": { 366 "line": 1, 367 "column": 1 368 }, 369 "end": { 370 "line": 1, 371 "column": 1 372 } 373 } 374 }, 375 "loc": { 376 "start": { 377 "line": 1, 378 "column": 1 379 }, 380 "end": { 381 "line": 1, 382 "column": 1 383 } 384 } 385 }, 386 "loc": { 387 "start": { 388 "line": 1, 389 "column": 1 390 }, 391 "end": { 392 "line": 1, 393 "column": 1 394 } 395 } 396 }, 397 "overloads": [], 398 "decorators": [], 399 "loc": { 400 "start": { 401 "line": 1, 402 "column": 1 403 }, 404 "end": { 405 "line": 1, 406 "column": 1 407 } 408 } 409 }, 410 { 411 "type": "ClassProperty", 412 "key": { 413 "type": "Identifier", 414 "name": "b", 415 "decorators": [], 416 "loc": { 417 "start": { 418 "line": 18, 419 "column": 5 420 }, 421 "end": { 422 "line": 18, 423 "column": 6 424 } 425 } 426 }, 427 "accessibility": "public", 428 "static": true, 429 "readonly": false, 430 "declare": false, 431 "optional": false, 432 "computed": false, 433 "typeAnnotation": { 434 "type": "ETSUnionType", 435 "types": [ 436 { 437 "type": "ETSTypeReference", 438 "part": { 439 "type": "ETSTypeReferencePart", 440 "name": { 441 "type": "Identifier", 442 "name": "cls", 443 "decorators": [], 444 "loc": { 445 "start": { 446 "line": 18, 447 "column": 9 448 }, 449 "end": { 450 "line": 18, 451 "column": 12 452 } 453 } 454 }, 455 "loc": { 456 "start": { 457 "line": 18, 458 "column": 9 459 }, 460 "end": { 461 "line": 18, 462 "column": 14 463 } 464 } 465 }, 466 "loc": { 467 "start": { 468 "line": 18, 469 "column": 9 470 }, 471 "end": { 472 "line": 18, 473 "column": 14 474 } 475 } 476 }, 477 { 478 "type": "ETSNullType", 479 "loc": { 480 "start": { 481 "line": 18, 482 "column": 15 483 }, 484 "end": { 485 "line": 18, 486 "column": 19 487 } 488 } 489 } 490 ], 491 "loc": { 492 "start": { 493 "line": 18, 494 "column": 9 495 }, 496 "end": { 497 "line": 18, 498 "column": 19 499 } 500 } 501 }, 502 "definite": false, 503 "decorators": [], 504 "loc": { 505 "start": { 506 "line": 18, 507 "column": 5 508 }, 509 "end": { 510 "line": 18, 511 "column": 26 512 } 513 } 514 }, 515 { 516 "type": "ClassProperty", 517 "key": { 518 "type": "Identifier", 519 "name": "c", 520 "decorators": [], 521 "loc": { 522 "start": { 523 "line": 19, 524 "column": 5 525 }, 526 "end": { 527 "line": 19, 528 "column": 6 529 } 530 } 531 }, 532 "accessibility": "public", 533 "static": true, 534 "readonly": false, 535 "declare": false, 536 "optional": false, 537 "computed": false, 538 "typeAnnotation": { 539 "type": "ETSTypeReference", 540 "part": { 541 "type": "ETSTypeReferencePart", 542 "name": { 543 "type": "Identifier", 544 "name": "cls", 545 "decorators": [], 546 "loc": { 547 "start": { 548 "line": 19, 549 "column": 9 550 }, 551 "end": { 552 "line": 19, 553 "column": 12 554 } 555 } 556 }, 557 "loc": { 558 "start": { 559 "line": 19, 560 "column": 9 561 }, 562 "end": { 563 "line": 19, 564 "column": 14 565 } 566 } 567 }, 568 "loc": { 569 "start": { 570 "line": 19, 571 "column": 9 572 }, 573 "end": { 574 "line": 19, 575 "column": 14 576 } 577 } 578 }, 579 "definite": false, 580 "decorators": [], 581 "loc": { 582 "start": { 583 "line": 19, 584 "column": 5 585 }, 586 "end": { 587 "line": 19, 588 "column": 25 589 } 590 } 591 }, 592 { 593 "type": "MethodDefinition", 594 "key": { 595 "type": "Identifier", 596 "name": "foo", 597 "decorators": [], 598 "loc": { 599 "start": { 600 "line": 21, 601 "column": 10 602 }, 603 "end": { 604 "line": 21, 605 "column": 13 606 } 607 } 608 }, 609 "kind": "method", 610 "accessibility": "public", 611 "static": true, 612 "optional": false, 613 "computed": false, 614 "value": { 615 "type": "FunctionExpression", 616 "function": { 617 "type": "ScriptFunction", 618 "id": { 619 "type": "Identifier", 620 "name": "foo", 621 "decorators": [], 622 "loc": { 623 "start": { 624 "line": 21, 625 "column": 10 626 }, 627 "end": { 628 "line": 21, 629 "column": 13 630 } 631 } 632 }, 633 "generator": false, 634 "async": false, 635 "expression": false, 636 "params": [ 637 { 638 "type": "ETSParameterExpression", 639 "name": { 640 "type": "Identifier", 641 "name": "arg", 642 "typeAnnotation": { 643 "type": "ETSUnionType", 644 "types": [ 645 { 646 "type": "ETSTypeReference", 647 "part": { 648 "type": "ETSTypeReferencePart", 649 "name": { 650 "type": "Identifier", 651 "name": "cls", 652 "decorators": [], 653 "loc": { 654 "start": { 655 "line": 21, 656 "column": 19 657 }, 658 "end": { 659 "line": 21, 660 "column": 22 661 } 662 } 663 }, 664 "loc": { 665 "start": { 666 "line": 21, 667 "column": 19 668 }, 669 "end": { 670 "line": 21, 671 "column": 24 672 } 673 } 674 }, 675 "loc": { 676 "start": { 677 "line": 21, 678 "column": 19 679 }, 680 "end": { 681 "line": 21, 682 "column": 24 683 } 684 } 685 }, 686 { 687 "type": "ETSNullType", 688 "loc": { 689 "start": { 690 "line": 21, 691 "column": 25 692 }, 693 "end": { 694 "line": 21, 695 "column": 29 696 } 697 } 698 } 699 ], 700 "loc": { 701 "start": { 702 "line": 21, 703 "column": 19 704 }, 705 "end": { 706 "line": 21, 707 "column": 29 708 } 709 } 710 }, 711 "decorators": [], 712 "loc": { 713 "start": { 714 "line": 21, 715 "column": 14 716 }, 717 "end": { 718 "line": 21, 719 "column": 29 720 } 721 } 722 }, 723 "loc": { 724 "start": { 725 "line": 21, 726 "column": 14 727 }, 728 "end": { 729 "line": 21, 730 "column": 29 731 } 732 } 733 } 734 ], 735 "returnType": { 736 "type": "ETSPrimitiveType", 737 "loc": { 738 "start": { 739 "line": 21, 740 "column": 33 741 }, 742 "end": { 743 "line": 21, 744 "column": 37 745 } 746 } 747 }, 748 "body": { 749 "type": "BlockStatement", 750 "statements": [], 751 "loc": { 752 "start": { 753 "line": 21, 754 "column": 38 755 }, 756 "end": { 757 "line": 22, 758 "column": 2 759 } 760 } 761 }, 762 "loc": { 763 "start": { 764 "line": 21, 765 "column": 13 766 }, 767 "end": { 768 "line": 22, 769 "column": 2 770 } 771 } 772 }, 773 "loc": { 774 "start": { 775 "line": 21, 776 "column": 13 777 }, 778 "end": { 779 "line": 22, 780 "column": 2 781 } 782 } 783 }, 784 "overloads": [], 785 "decorators": [], 786 "loc": { 787 "start": { 788 "line": 21, 789 "column": 1 790 }, 791 "end": { 792 "line": 22, 793 "column": 2 794 } 795 } 796 }, 797 { 798 "type": "MethodDefinition", 799 "key": { 800 "type": "Identifier", 801 "name": "main", 802 "decorators": [], 803 "loc": { 804 "start": { 805 "line": 24, 806 "column": 10 807 }, 808 "end": { 809 "line": 24, 810 "column": 14 811 } 812 } 813 }, 814 "kind": "method", 815 "accessibility": "public", 816 "static": true, 817 "optional": false, 818 "computed": false, 819 "value": { 820 "type": "FunctionExpression", 821 "function": { 822 "type": "ScriptFunction", 823 "id": { 824 "type": "Identifier", 825 "name": "main", 826 "decorators": [], 827 "loc": { 828 "start": { 829 "line": 24, 830 "column": 10 831 }, 832 "end": { 833 "line": 24, 834 "column": 14 835 } 836 } 837 }, 838 "generator": false, 839 "async": false, 840 "expression": false, 841 "params": [], 842 "returnType": { 843 "type": "ETSPrimitiveType", 844 "loc": { 845 "start": { 846 "line": 24, 847 "column": 18 848 }, 849 "end": { 850 "line": 24, 851 "column": 22 852 } 853 } 854 }, 855 "body": { 856 "type": "BlockStatement", 857 "statements": [ 858 { 859 "type": "ExpressionStatement", 860 "expression": { 861 "type": "CallExpression", 862 "callee": { 863 "type": "Identifier", 864 "name": "foo", 865 "decorators": [], 866 "loc": { 867 "start": { 868 "line": 25, 869 "column": 5 870 }, 871 "end": { 872 "line": 25, 873 "column": 8 874 } 875 } 876 }, 877 "arguments": [ 878 { 879 "type": "Identifier", 880 "name": "b", 881 "decorators": [], 882 "loc": { 883 "start": { 884 "line": 25, 885 "column": 9 886 }, 887 "end": { 888 "line": 25, 889 "column": 10 890 } 891 } 892 } 893 ], 894 "optional": false, 895 "loc": { 896 "start": { 897 "line": 25, 898 "column": 5 899 }, 900 "end": { 901 "line": 25, 902 "column": 11 903 } 904 } 905 }, 906 "loc": { 907 "start": { 908 "line": 25, 909 "column": 5 910 }, 911 "end": { 912 "line": 25, 913 "column": 12 914 } 915 } 916 }, 917 { 918 "type": "ExpressionStatement", 919 "expression": { 920 "type": "CallExpression", 921 "callee": { 922 "type": "Identifier", 923 "name": "foo", 924 "decorators": [], 925 "loc": { 926 "start": { 927 "line": 26, 928 "column": 5 929 }, 930 "end": { 931 "line": 26, 932 "column": 8 933 } 934 } 935 }, 936 "arguments": [ 937 { 938 "type": "Identifier", 939 "name": "c", 940 "decorators": [], 941 "loc": { 942 "start": { 943 "line": 26, 944 "column": 9 945 }, 946 "end": { 947 "line": 26, 948 "column": 10 949 } 950 } 951 } 952 ], 953 "optional": false, 954 "loc": { 955 "start": { 956 "line": 26, 957 "column": 5 958 }, 959 "end": { 960 "line": 26, 961 "column": 11 962 } 963 } 964 }, 965 "loc": { 966 "start": { 967 "line": 26, 968 "column": 5 969 }, 970 "end": { 971 "line": 26, 972 "column": 12 973 } 974 } 975 }, 976 { 977 "type": "VariableDeclaration", 978 "declarations": [ 979 { 980 "type": "VariableDeclarator", 981 "id": { 982 "type": "Identifier", 983 "name": "e", 984 "typeAnnotation": { 985 "type": "ETSUnionType", 986 "types": [ 987 { 988 "type": "ETSTypeReference", 989 "part": { 990 "type": "ETSTypeReferencePart", 991 "name": { 992 "type": "Identifier", 993 "name": "cls", 994 "decorators": [], 995 "loc": { 996 "start": { 997 "line": 28, 998 "column": 13 999 }, 1000 "end": { 1001 "line": 28, 1002 "column": 16 1003 } 1004 } 1005 }, 1006 "loc": { 1007 "start": { 1008 "line": 28, 1009 "column": 13 1010 }, 1011 "end": { 1012 "line": 28, 1013 "column": 18 1014 } 1015 } 1016 }, 1017 "loc": { 1018 "start": { 1019 "line": 28, 1020 "column": 13 1021 }, 1022 "end": { 1023 "line": 28, 1024 "column": 18 1025 } 1026 } 1027 }, 1028 { 1029 "type": "ETSNullType", 1030 "loc": { 1031 "start": { 1032 "line": 28, 1033 "column": 19 1034 }, 1035 "end": { 1036 "line": 28, 1037 "column": 23 1038 } 1039 } 1040 } 1041 ], 1042 "loc": { 1043 "start": { 1044 "line": 28, 1045 "column": 13 1046 }, 1047 "end": { 1048 "line": 28, 1049 "column": 23 1050 } 1051 } 1052 }, 1053 "decorators": [], 1054 "loc": { 1055 "start": { 1056 "line": 28, 1057 "column": 9 1058 }, 1059 "end": { 1060 "line": 28, 1061 "column": 10 1062 } 1063 } 1064 }, 1065 "init": { 1066 "type": "NullLiteral", 1067 "value": null, 1068 "loc": { 1069 "start": { 1070 "line": 28, 1071 "column": 26 1072 }, 1073 "end": { 1074 "line": 28, 1075 "column": 30 1076 } 1077 } 1078 }, 1079 "loc": { 1080 "start": { 1081 "line": 28, 1082 "column": 9 1083 }, 1084 "end": { 1085 "line": 28, 1086 "column": 30 1087 } 1088 } 1089 } 1090 ], 1091 "kind": "let", 1092 "loc": { 1093 "start": { 1094 "line": 28, 1095 "column": 5 1096 }, 1097 "end": { 1098 "line": 28, 1099 "column": 31 1100 } 1101 } 1102 }, 1103 { 1104 "type": "VariableDeclaration", 1105 "declarations": [ 1106 { 1107 "type": "VariableDeclarator", 1108 "id": { 1109 "type": "Identifier", 1110 "name": "f", 1111 "typeAnnotation": { 1112 "type": "ETSTypeReference", 1113 "part": { 1114 "type": "ETSTypeReferencePart", 1115 "name": { 1116 "type": "Identifier", 1117 "name": "cls", 1118 "decorators": [], 1119 "loc": { 1120 "start": { 1121 "line": 29, 1122 "column": 13 1123 }, 1124 "end": { 1125 "line": 29, 1126 "column": 16 1127 } 1128 } 1129 }, 1130 "loc": { 1131 "start": { 1132 "line": 29, 1133 "column": 13 1134 }, 1135 "end": { 1136 "line": 29, 1137 "column": 18 1138 } 1139 } 1140 }, 1141 "loc": { 1142 "start": { 1143 "line": 29, 1144 "column": 13 1145 }, 1146 "end": { 1147 "line": 29, 1148 "column": 18 1149 } 1150 } 1151 }, 1152 "decorators": [], 1153 "loc": { 1154 "start": { 1155 "line": 29, 1156 "column": 9 1157 }, 1158 "end": { 1159 "line": 29, 1160 "column": 10 1161 } 1162 } 1163 }, 1164 "init": { 1165 "type": "ETSNewClassInstanceExpression", 1166 "typeReference": { 1167 "type": "ETSTypeReference", 1168 "part": { 1169 "type": "ETSTypeReferencePart", 1170 "name": { 1171 "type": "Identifier", 1172 "name": "cls", 1173 "decorators": [], 1174 "loc": { 1175 "start": { 1176 "line": 29, 1177 "column": 23 1178 }, 1179 "end": { 1180 "line": 29, 1181 "column": 26 1182 } 1183 } 1184 }, 1185 "loc": { 1186 "start": { 1187 "line": 29, 1188 "column": 23 1189 }, 1190 "end": { 1191 "line": 29, 1192 "column": 27 1193 } 1194 } 1195 }, 1196 "loc": { 1197 "start": { 1198 "line": 29, 1199 "column": 23 1200 }, 1201 "end": { 1202 "line": 29, 1203 "column": 27 1204 } 1205 } 1206 }, 1207 "arguments": [], 1208 "loc": { 1209 "start": { 1210 "line": 29, 1211 "column": 19 1212 }, 1213 "end": { 1214 "line": 29, 1215 "column": 29 1216 } 1217 } 1218 }, 1219 "loc": { 1220 "start": { 1221 "line": 29, 1222 "column": 9 1223 }, 1224 "end": { 1225 "line": 29, 1226 "column": 29 1227 } 1228 } 1229 } 1230 ], 1231 "kind": "let", 1232 "loc": { 1233 "start": { 1234 "line": 29, 1235 "column": 5 1236 }, 1237 "end": { 1238 "line": 29, 1239 "column": 29 1240 } 1241 } 1242 }, 1243 { 1244 "type": "ExpressionStatement", 1245 "expression": { 1246 "type": "CallExpression", 1247 "callee": { 1248 "type": "Identifier", 1249 "name": "foo", 1250 "decorators": [], 1251 "loc": { 1252 "start": { 1253 "line": 31, 1254 "column": 5 1255 }, 1256 "end": { 1257 "line": 31, 1258 "column": 8 1259 } 1260 } 1261 }, 1262 "arguments": [ 1263 { 1264 "type": "Identifier", 1265 "name": "e", 1266 "decorators": [], 1267 "loc": { 1268 "start": { 1269 "line": 31, 1270 "column": 9 1271 }, 1272 "end": { 1273 "line": 31, 1274 "column": 10 1275 } 1276 } 1277 } 1278 ], 1279 "optional": false, 1280 "loc": { 1281 "start": { 1282 "line": 31, 1283 "column": 5 1284 }, 1285 "end": { 1286 "line": 31, 1287 "column": 11 1288 } 1289 } 1290 }, 1291 "loc": { 1292 "start": { 1293 "line": 31, 1294 "column": 5 1295 }, 1296 "end": { 1297 "line": 31, 1298 "column": 12 1299 } 1300 } 1301 }, 1302 { 1303 "type": "ExpressionStatement", 1304 "expression": { 1305 "type": "CallExpression", 1306 "callee": { 1307 "type": "Identifier", 1308 "name": "foo", 1309 "decorators": [], 1310 "loc": { 1311 "start": { 1312 "line": 32, 1313 "column": 5 1314 }, 1315 "end": { 1316 "line": 32, 1317 "column": 8 1318 } 1319 } 1320 }, 1321 "arguments": [ 1322 { 1323 "type": "Identifier", 1324 "name": "f", 1325 "decorators": [], 1326 "loc": { 1327 "start": { 1328 "line": 32, 1329 "column": 9 1330 }, 1331 "end": { 1332 "line": 32, 1333 "column": 10 1334 } 1335 } 1336 } 1337 ], 1338 "optional": false, 1339 "loc": { 1340 "start": { 1341 "line": 32, 1342 "column": 5 1343 }, 1344 "end": { 1345 "line": 32, 1346 "column": 11 1347 } 1348 } 1349 }, 1350 "loc": { 1351 "start": { 1352 "line": 32, 1353 "column": 5 1354 }, 1355 "end": { 1356 "line": 32, 1357 "column": 12 1358 } 1359 } 1360 }, 1361 { 1362 "type": "ExpressionStatement", 1363 "expression": { 1364 "type": "CallExpression", 1365 "callee": { 1366 "type": "Identifier", 1367 "name": "foo", 1368 "decorators": [], 1369 "loc": { 1370 "start": { 1371 "line": 34, 1372 "column": 5 1373 }, 1374 "end": { 1375 "line": 34, 1376 "column": 8 1377 } 1378 } 1379 }, 1380 "arguments": [ 1381 { 1382 "type": "NullLiteral", 1383 "value": null, 1384 "loc": { 1385 "start": { 1386 "line": 34, 1387 "column": 9 1388 }, 1389 "end": { 1390 "line": 34, 1391 "column": 13 1392 } 1393 } 1394 } 1395 ], 1396 "optional": false, 1397 "loc": { 1398 "start": { 1399 "line": 34, 1400 "column": 5 1401 }, 1402 "end": { 1403 "line": 34, 1404 "column": 14 1405 } 1406 } 1407 }, 1408 "loc": { 1409 "start": { 1410 "line": 34, 1411 "column": 5 1412 }, 1413 "end": { 1414 "line": 34, 1415 "column": 15 1416 } 1417 } 1418 }, 1419 { 1420 "type": "ExpressionStatement", 1421 "expression": { 1422 "type": "CallExpression", 1423 "callee": { 1424 "type": "Identifier", 1425 "name": "foo", 1426 "decorators": [], 1427 "loc": { 1428 "start": { 1429 "line": 35, 1430 "column": 5 1431 }, 1432 "end": { 1433 "line": 35, 1434 "column": 8 1435 } 1436 } 1437 }, 1438 "arguments": [ 1439 { 1440 "type": "ETSNewClassInstanceExpression", 1441 "typeReference": { 1442 "type": "ETSTypeReference", 1443 "part": { 1444 "type": "ETSTypeReferencePart", 1445 "name": { 1446 "type": "Identifier", 1447 "name": "cls", 1448 "decorators": [], 1449 "loc": { 1450 "start": { 1451 "line": 35, 1452 "column": 13 1453 }, 1454 "end": { 1455 "line": 35, 1456 "column": 16 1457 } 1458 } 1459 }, 1460 "loc": { 1461 "start": { 1462 "line": 35, 1463 "column": 13 1464 }, 1465 "end": { 1466 "line": 35, 1467 "column": 17 1468 } 1469 } 1470 }, 1471 "loc": { 1472 "start": { 1473 "line": 35, 1474 "column": 13 1475 }, 1476 "end": { 1477 "line": 35, 1478 "column": 17 1479 } 1480 } 1481 }, 1482 "arguments": [], 1483 "loc": { 1484 "start": { 1485 "line": 35, 1486 "column": 9 1487 }, 1488 "end": { 1489 "line": 35, 1490 "column": 19 1491 } 1492 } 1493 } 1494 ], 1495 "optional": false, 1496 "loc": { 1497 "start": { 1498 "line": 35, 1499 "column": 5 1500 }, 1501 "end": { 1502 "line": 35, 1503 "column": 19 1504 } 1505 } 1506 }, 1507 "loc": { 1508 "start": { 1509 "line": 35, 1510 "column": 5 1511 }, 1512 "end": { 1513 "line": 35, 1514 "column": 20 1515 } 1516 } 1517 }, 1518 { 1519 "type": "AssertStatement", 1520 "test": { 1521 "type": "LogicalExpression", 1522 "operator": "&&", 1523 "left": { 1524 "type": "BinaryExpression", 1525 "operator": "==", 1526 "left": { 1527 "type": "Identifier", 1528 "name": "b", 1529 "decorators": [], 1530 "loc": { 1531 "start": { 1532 "line": 37, 1533 "column": 13 1534 }, 1535 "end": { 1536 "line": 37, 1537 "column": 14 1538 } 1539 } 1540 }, 1541 "right": { 1542 "type": "NullLiteral", 1543 "value": null, 1544 "loc": { 1545 "start": { 1546 "line": 37, 1547 "column": 18 1548 }, 1549 "end": { 1550 "line": 37, 1551 "column": 22 1552 } 1553 } 1554 }, 1555 "loc": { 1556 "start": { 1557 "line": 37, 1558 "column": 13 1559 }, 1560 "end": { 1561 "line": 37, 1562 "column": 22 1563 } 1564 } 1565 }, 1566 "right": { 1567 "type": "BinaryExpression", 1568 "operator": "!=", 1569 "left": { 1570 "type": "Identifier", 1571 "name": "c", 1572 "decorators": [], 1573 "loc": { 1574 "start": { 1575 "line": 37, 1576 "column": 26 1577 }, 1578 "end": { 1579 "line": 37, 1580 "column": 27 1581 } 1582 } 1583 }, 1584 "right": { 1585 "type": "NullLiteral", 1586 "value": null, 1587 "loc": { 1588 "start": { 1589 "line": 37, 1590 "column": 31 1591 }, 1592 "end": { 1593 "line": 37, 1594 "column": 35 1595 } 1596 } 1597 }, 1598 "loc": { 1599 "start": { 1600 "line": 37, 1601 "column": 26 1602 }, 1603 "end": { 1604 "line": 37, 1605 "column": 35 1606 } 1607 } 1608 }, 1609 "loc": { 1610 "start": { 1611 "line": 37, 1612 "column": 12 1613 }, 1614 "end": { 1615 "line": 37, 1616 "column": 36 1617 } 1618 } 1619 }, 1620 "second": null, 1621 "loc": { 1622 "start": { 1623 "line": 37, 1624 "column": 5 1625 }, 1626 "end": { 1627 "line": 37, 1628 "column": 36 1629 } 1630 } 1631 }, 1632 { 1633 "type": "AssertStatement", 1634 "test": { 1635 "type": "BinaryExpression", 1636 "operator": "!=", 1637 "left": { 1638 "type": "NullLiteral", 1639 "value": null, 1640 "loc": { 1641 "start": { 1642 "line": 38, 1643 "column": 13 1644 }, 1645 "end": { 1646 "line": 38, 1647 "column": 17 1648 } 1649 } 1650 }, 1651 "right": { 1652 "type": "Identifier", 1653 "name": "c", 1654 "decorators": [], 1655 "loc": { 1656 "start": { 1657 "line": 38, 1658 "column": 21 1659 }, 1660 "end": { 1661 "line": 38, 1662 "column": 22 1663 } 1664 } 1665 }, 1666 "loc": { 1667 "start": { 1668 "line": 38, 1669 "column": 12 1670 }, 1671 "end": { 1672 "line": 38, 1673 "column": 23 1674 } 1675 } 1676 }, 1677 "second": null, 1678 "loc": { 1679 "start": { 1680 "line": 38, 1681 "column": 5 1682 }, 1683 "end": { 1684 "line": 38, 1685 "column": 23 1686 } 1687 } 1688 }, 1689 { 1690 "type": "AssertStatement", 1691 "test": { 1692 "type": "LogicalExpression", 1693 "operator": "&&", 1694 "left": { 1695 "type": "BinaryExpression", 1696 "operator": "==", 1697 "left": { 1698 "type": "Identifier", 1699 "name": "e", 1700 "decorators": [], 1701 "loc": { 1702 "start": { 1703 "line": 39, 1704 "column": 13 1705 }, 1706 "end": { 1707 "line": 39, 1708 "column": 14 1709 } 1710 } 1711 }, 1712 "right": { 1713 "type": "NullLiteral", 1714 "value": null, 1715 "loc": { 1716 "start": { 1717 "line": 39, 1718 "column": 18 1719 }, 1720 "end": { 1721 "line": 39, 1722 "column": 22 1723 } 1724 } 1725 }, 1726 "loc": { 1727 "start": { 1728 "line": 39, 1729 "column": 13 1730 }, 1731 "end": { 1732 "line": 39, 1733 "column": 22 1734 } 1735 } 1736 }, 1737 "right": { 1738 "type": "BinaryExpression", 1739 "operator": "!=", 1740 "left": { 1741 "type": "Identifier", 1742 "name": "f", 1743 "decorators": [], 1744 "loc": { 1745 "start": { 1746 "line": 39, 1747 "column": 26 1748 }, 1749 "end": { 1750 "line": 39, 1751 "column": 27 1752 } 1753 } 1754 }, 1755 "right": { 1756 "type": "NullLiteral", 1757 "value": null, 1758 "loc": { 1759 "start": { 1760 "line": 39, 1761 "column": 31 1762 }, 1763 "end": { 1764 "line": 39, 1765 "column": 35 1766 } 1767 } 1768 }, 1769 "loc": { 1770 "start": { 1771 "line": 39, 1772 "column": 26 1773 }, 1774 "end": { 1775 "line": 39, 1776 "column": 35 1777 } 1778 } 1779 }, 1780 "loc": { 1781 "start": { 1782 "line": 39, 1783 "column": 12 1784 }, 1785 "end": { 1786 "line": 39, 1787 "column": 36 1788 } 1789 } 1790 }, 1791 "second": null, 1792 "loc": { 1793 "start": { 1794 "line": 39, 1795 "column": 5 1796 }, 1797 "end": { 1798 "line": 39, 1799 "column": 36 1800 } 1801 } 1802 }, 1803 { 1804 "type": "AssertStatement", 1805 "test": { 1806 "type": "BinaryExpression", 1807 "operator": "==", 1808 "left": { 1809 "type": "Identifier", 1810 "name": "b", 1811 "decorators": [], 1812 "loc": { 1813 "start": { 1814 "line": 40, 1815 "column": 13 1816 }, 1817 "end": { 1818 "line": 40, 1819 "column": 14 1820 } 1821 } 1822 }, 1823 "right": { 1824 "type": "Identifier", 1825 "name": "e", 1826 "decorators": [], 1827 "loc": { 1828 "start": { 1829 "line": 40, 1830 "column": 18 1831 }, 1832 "end": { 1833 "line": 40, 1834 "column": 19 1835 } 1836 } 1837 }, 1838 "loc": { 1839 "start": { 1840 "line": 40, 1841 "column": 12 1842 }, 1843 "end": { 1844 "line": 40, 1845 "column": 20 1846 } 1847 } 1848 }, 1849 "second": null, 1850 "loc": { 1851 "start": { 1852 "line": 40, 1853 "column": 5 1854 }, 1855 "end": { 1856 "line": 40, 1857 "column": 20 1858 } 1859 } 1860 }, 1861 { 1862 "type": "AssertStatement", 1863 "test": { 1864 "type": "BinaryExpression", 1865 "operator": "==", 1866 "left": { 1867 "type": "NullLiteral", 1868 "value": null, 1869 "loc": { 1870 "start": { 1871 "line": 41, 1872 "column": 13 1873 }, 1874 "end": { 1875 "line": 41, 1876 "column": 17 1877 } 1878 } 1879 }, 1880 "right": { 1881 "type": "NullLiteral", 1882 "value": null, 1883 "loc": { 1884 "start": { 1885 "line": 41, 1886 "column": 21 1887 }, 1888 "end": { 1889 "line": 41, 1890 "column": 25 1891 } 1892 } 1893 }, 1894 "loc": { 1895 "start": { 1896 "line": 41, 1897 "column": 12 1898 }, 1899 "end": { 1900 "line": 41, 1901 "column": 26 1902 } 1903 } 1904 }, 1905 "second": null, 1906 "loc": { 1907 "start": { 1908 "line": 41, 1909 "column": 5 1910 }, 1911 "end": { 1912 "line": 41, 1913 "column": 26 1914 } 1915 } 1916 }, 1917 { 1918 "type": "ReturnStatement", 1919 "argument": null, 1920 "loc": { 1921 "start": { 1922 "line": 43, 1923 "column": 5 1924 }, 1925 "end": { 1926 "line": 43, 1927 "column": 12 1928 } 1929 } 1930 } 1931 ], 1932 "loc": { 1933 "start": { 1934 "line": 24, 1935 "column": 23 1936 }, 1937 "end": { 1938 "line": 44, 1939 "column": 2 1940 } 1941 } 1942 }, 1943 "loc": { 1944 "start": { 1945 "line": 24, 1946 "column": 14 1947 }, 1948 "end": { 1949 "line": 44, 1950 "column": 2 1951 } 1952 } 1953 }, 1954 "loc": { 1955 "start": { 1956 "line": 24, 1957 "column": 14 1958 }, 1959 "end": { 1960 "line": 44, 1961 "column": 2 1962 } 1963 } 1964 }, 1965 "overloads": [], 1966 "decorators": [], 1967 "loc": { 1968 "start": { 1969 "line": 24, 1970 "column": 1 1971 }, 1972 "end": { 1973 "line": 44, 1974 "column": 2 1975 } 1976 } 1977 } 1978 ], 1979 "loc": { 1980 "start": { 1981 "line": 1, 1982 "column": 1 1983 }, 1984 "end": { 1985 "line": 1, 1986 "column": 1 1987 } 1988 } 1989 }, 1990 "loc": { 1991 "start": { 1992 "line": 1, 1993 "column": 1 1994 }, 1995 "end": { 1996 "line": 1, 1997 "column": 1 1998 } 1999 } 2000 } 2001 ], 2002 "loc": { 2003 "start": { 2004 "line": 1, 2005 "column": 1 2006 }, 2007 "end": { 2008 "line": 45, 2009 "column": 1 2010 } 2011 } 2012} 2013