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 "typeParameters": { 23 "type": "TSTypeParameterDeclaration", 24 "params": [ 25 { 26 "type": "TSTypeParameter", 27 "name": { 28 "type": "Identifier", 29 "name": "T", 30 "decorators": [], 31 "loc": { 32 "start": { 33 "line": 16, 34 "column": 9 35 }, 36 "end": { 37 "line": 16, 38 "column": 10 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 16, 45 "column": 9 46 }, 47 "end": { 48 "line": 16, 49 "column": 11 50 } 51 } 52 } 53 ], 54 "loc": { 55 "start": { 56 "line": 16, 57 "column": 8 58 }, 59 "end": { 60 "line": 16, 61 "column": 11 62 } 63 } 64 }, 65 "superClass": null, 66 "implements": [], 67 "body": [ 68 { 69 "type": "MethodDefinition", 70 "key": { 71 "type": "Identifier", 72 "name": "foo", 73 "decorators": [], 74 "loc": { 75 "start": { 76 "line": 17, 77 "column": 3 78 }, 79 "end": { 80 "line": 17, 81 "column": 6 82 } 83 } 84 }, 85 "kind": "method", 86 "accessibility": "public", 87 "static": false, 88 "optional": false, 89 "computed": false, 90 "value": { 91 "type": "FunctionExpression", 92 "function": { 93 "type": "ScriptFunction", 94 "id": { 95 "type": "Identifier", 96 "name": "foo", 97 "decorators": [], 98 "loc": { 99 "start": { 100 "line": 17, 101 "column": 3 102 }, 103 "end": { 104 "line": 17, 105 "column": 6 106 } 107 } 108 }, 109 "generator": false, 110 "async": false, 111 "expression": false, 112 "params": [ 113 { 114 "type": "ETSParameterExpression", 115 "name": { 116 "type": "Identifier", 117 "name": "x", 118 "typeAnnotation": { 119 "type": "ETSUnionType", 120 "types": [ 121 { 122 "type": "ETSFunctionType", 123 "params": [ 124 { 125 "type": "ETSParameterExpression", 126 "name": { 127 "type": "Identifier", 128 "name": "a", 129 "typeAnnotation": { 130 "type": "ETSTypeReference", 131 "part": { 132 "type": "ETSTypeReferencePart", 133 "name": { 134 "type": "Identifier", 135 "name": "T", 136 "decorators": [], 137 "loc": { 138 "start": { 139 "line": 17, 140 "column": 15 141 }, 142 "end": { 143 "line": 17, 144 "column": 16 145 } 146 } 147 }, 148 "loc": { 149 "start": { 150 "line": 17, 151 "column": 15 152 }, 153 "end": { 154 "line": 17, 155 "column": 17 156 } 157 } 158 }, 159 "loc": { 160 "start": { 161 "line": 17, 162 "column": 15 163 }, 164 "end": { 165 "line": 17, 166 "column": 17 167 } 168 } 169 }, 170 "decorators": [], 171 "loc": { 172 "start": { 173 "line": 17, 174 "column": 12 175 }, 176 "end": { 177 "line": 17, 178 "column": 17 179 } 180 } 181 }, 182 "loc": { 183 "start": { 184 "line": 17, 185 "column": 12 186 }, 187 "end": { 188 "line": 17, 189 "column": 17 190 } 191 } 192 }, 193 { 194 "type": "ETSParameterExpression", 195 "name": { 196 "type": "Identifier", 197 "name": "b", 198 "typeAnnotation": { 199 "type": "ETSTypeReference", 200 "part": { 201 "type": "ETSTypeReferencePart", 202 "name": { 203 "type": "Identifier", 204 "name": "T", 205 "decorators": [], 206 "loc": { 207 "start": { 208 "line": 17, 209 "column": 21 210 }, 211 "end": { 212 "line": 17, 213 "column": 22 214 } 215 } 216 }, 217 "loc": { 218 "start": { 219 "line": 17, 220 "column": 21 221 }, 222 "end": { 223 "line": 17, 224 "column": 23 225 } 226 } 227 }, 228 "loc": { 229 "start": { 230 "line": 17, 231 "column": 21 232 }, 233 "end": { 234 "line": 17, 235 "column": 23 236 } 237 } 238 }, 239 "decorators": [], 240 "loc": { 241 "start": { 242 "line": 17, 243 "column": 18 244 }, 245 "end": { 246 "line": 17, 247 "column": 23 248 } 249 } 250 }, 251 "loc": { 252 "start": { 253 "line": 17, 254 "column": 18 255 }, 256 "end": { 257 "line": 17, 258 "column": 23 259 } 260 } 261 } 262 ], 263 "returnType": { 264 "type": "ETSTypeReference", 265 "part": { 266 "type": "ETSTypeReferencePart", 267 "name": { 268 "type": "Identifier", 269 "name": "number", 270 "decorators": [], 271 "loc": { 272 "start": { 273 "line": 17, 274 "column": 27 275 }, 276 "end": { 277 "line": 17, 278 "column": 33 279 } 280 } 281 }, 282 "loc": { 283 "start": { 284 "line": 17, 285 "column": 27 286 }, 287 "end": { 288 "line": 17, 289 "column": 34 290 } 291 } 292 }, 293 "loc": { 294 "start": { 295 "line": 17, 296 "column": 27 297 }, 298 "end": { 299 "line": 17, 300 "column": 34 301 } 302 } 303 }, 304 "loc": { 305 "start": { 306 "line": 17, 307 "column": 11 308 }, 309 "end": { 310 "line": 17, 311 "column": 34 312 } 313 } 314 }, 315 { 316 "type": "ETSUndefinedType", 317 "loc": { 318 "start": { 319 "line": 17, 320 "column": 8 321 }, 322 "end": { 323 "line": 17, 324 "column": 9 325 } 326 } 327 } 328 ], 329 "loc": { 330 "start": { 331 "line": 17, 332 "column": 11 333 }, 334 "end": { 335 "line": 17, 336 "column": 34 337 } 338 } 339 }, 340 "decorators": [], 341 "loc": { 342 "start": { 343 "line": 17, 344 "column": 7 345 }, 346 "end": { 347 "line": 17, 348 "column": 34 349 } 350 } 351 }, 352 "loc": { 353 "start": { 354 "line": 17, 355 "column": 7 356 }, 357 "end": { 358 "line": 17, 359 "column": 34 360 } 361 } 362 } 363 ], 364 "returnType": { 365 "type": "TSThisType", 366 "loc": { 367 "start": { 368 "line": 17, 369 "column": 36 370 }, 371 "end": { 372 "line": 17, 373 "column": 40 374 } 375 } 376 }, 377 "body": { 378 "type": "BlockStatement", 379 "statements": [ 380 { 381 "type": "ReturnStatement", 382 "argument": { 383 "type": "ThisExpression", 384 "loc": { 385 "start": { 386 "line": 18, 387 "column": 12 388 }, 389 "end": { 390 "line": 18, 391 "column": 16 392 } 393 } 394 }, 395 "loc": { 396 "start": { 397 "line": 18, 398 "column": 5 399 }, 400 "end": { 401 "line": 18, 402 "column": 16 403 } 404 } 405 } 406 ], 407 "loc": { 408 "start": { 409 "line": 17, 410 "column": 41 411 }, 412 "end": { 413 "line": 19, 414 "column": 4 415 } 416 } 417 }, 418 "loc": { 419 "start": { 420 "line": 17, 421 "column": 6 422 }, 423 "end": { 424 "line": 19, 425 "column": 4 426 } 427 } 428 }, 429 "loc": { 430 "start": { 431 "line": 17, 432 "column": 6 433 }, 434 "end": { 435 "line": 19, 436 "column": 4 437 } 438 } 439 }, 440 "overloads": [ 441 { 442 "type": "MethodDefinition", 443 "key": { 444 "type": "Identifier", 445 "name": "foo", 446 "decorators": [], 447 "loc": { 448 "start": { 449 "line": 17, 450 "column": 3 451 }, 452 "end": { 453 "line": 17, 454 "column": 6 455 } 456 } 457 }, 458 "kind": "method", 459 "accessibility": "public", 460 "static": false, 461 "optional": false, 462 "computed": false, 463 "value": { 464 "type": "FunctionExpression", 465 "function": { 466 "type": "ScriptFunction", 467 "id": { 468 "type": "Identifier", 469 "name": "foo", 470 "decorators": [], 471 "loc": { 472 "start": { 473 "line": 17, 474 "column": 3 475 }, 476 "end": { 477 "line": 17, 478 "column": 6 479 } 480 } 481 }, 482 "generator": false, 483 "async": false, 484 "expression": false, 485 "params": [], 486 "returnType": { 487 "type": "TSThisType", 488 "loc": { 489 "start": { 490 "line": 17, 491 "column": 36 492 }, 493 "end": { 494 "line": 17, 495 "column": 40 496 } 497 } 498 }, 499 "body": { 500 "type": "BlockStatement", 501 "statements": [ 502 { 503 "type": "ExpressionStatement", 504 "expression": { 505 "type": "CallExpression", 506 "callee": { 507 "type": "MemberExpression", 508 "object": { 509 "type": "ThisExpression", 510 "loc": { 511 "start": { 512 "line": 1, 513 "column": 1 514 }, 515 "end": { 516 "line": 1, 517 "column": 1 518 } 519 } 520 }, 521 "property": { 522 "type": "Identifier", 523 "name": "foo", 524 "decorators": [], 525 "loc": { 526 "start": { 527 "line": 1, 528 "column": 1 529 }, 530 "end": { 531 "line": 1, 532 "column": 1 533 } 534 } 535 }, 536 "computed": false, 537 "optional": false, 538 "loc": { 539 "start": { 540 "line": 1, 541 "column": 1 542 }, 543 "end": { 544 "line": 1, 545 "column": 1 546 } 547 } 548 }, 549 "arguments": [ 550 { 551 "type": "UndefinedLiteral", 552 "value": undefined, 553 "loc": { 554 "start": { 555 "line": 1, 556 "column": 1 557 }, 558 "end": { 559 "line": 1, 560 "column": 1 561 } 562 } 563 } 564 ], 565 "optional": false, 566 "loc": { 567 "start": { 568 "line": 17, 569 "column": 3 570 }, 571 "end": { 572 "line": 19, 573 "column": 4 574 } 575 } 576 }, 577 "loc": { 578 "start": { 579 "line": 1, 580 "column": 1 581 }, 582 "end": { 583 "line": 1, 584 "column": 1 585 } 586 } 587 }, 588 { 589 "type": "ReturnStatement", 590 "argument": { 591 "type": "ThisExpression", 592 "loc": { 593 "start": { 594 "line": 1, 595 "column": 1 596 }, 597 "end": { 598 "line": 1, 599 "column": 1 600 } 601 } 602 }, 603 "loc": { 604 "start": { 605 "line": 1, 606 "column": 1 607 }, 608 "end": { 609 "line": 1, 610 "column": 1 611 } 612 } 613 } 614 ], 615 "loc": { 616 "start": { 617 "line": 1, 618 "column": 1 619 }, 620 "end": { 621 "line": 1, 622 "column": 1 623 } 624 } 625 }, 626 "loc": { 627 "start": { 628 "line": 621, 629 "column": 1 630 }, 631 "end": { 632 "line": 621, 633 "column": 1 634 } 635 } 636 }, 637 "loc": { 638 "start": { 639 "line": 1, 640 "column": 1 641 }, 642 "end": { 643 "line": 1, 644 "column": 1 645 } 646 } 647 }, 648 "overloads": [], 649 "decorators": [], 650 "loc": { 651 "start": { 652 "line": 17, 653 "column": 3 654 }, 655 "end": { 656 "line": 1, 657 "column": 1 658 } 659 } 660 } 661 ], 662 "decorators": [], 663 "loc": { 664 "start": { 665 "line": 17, 666 "column": 3 667 }, 668 "end": { 669 "line": 19, 670 "column": 4 671 } 672 } 673 }, 674 { 675 "type": "MethodDefinition", 676 "key": { 677 "type": "Identifier", 678 "name": "constructor", 679 "decorators": [], 680 "loc": { 681 "start": { 682 "line": 1, 683 "column": 1 684 }, 685 "end": { 686 "line": 1, 687 "column": 1 688 } 689 } 690 }, 691 "kind": "constructor", 692 "static": false, 693 "optional": false, 694 "computed": false, 695 "value": { 696 "type": "FunctionExpression", 697 "function": { 698 "type": "ScriptFunction", 699 "id": { 700 "type": "Identifier", 701 "name": "constructor", 702 "decorators": [], 703 "loc": { 704 "start": { 705 "line": 1, 706 "column": 1 707 }, 708 "end": { 709 "line": 1, 710 "column": 1 711 } 712 } 713 }, 714 "generator": false, 715 "async": false, 716 "expression": false, 717 "params": [], 718 "body": { 719 "type": "BlockStatement", 720 "statements": [], 721 "loc": { 722 "start": { 723 "line": 1, 724 "column": 1 725 }, 726 "end": { 727 "line": 1, 728 "column": 1 729 } 730 } 731 }, 732 "loc": { 733 "start": { 734 "line": 1, 735 "column": 1 736 }, 737 "end": { 738 "line": 1, 739 "column": 1 740 } 741 } 742 }, 743 "loc": { 744 "start": { 745 "line": 1, 746 "column": 1 747 }, 748 "end": { 749 "line": 1, 750 "column": 1 751 } 752 } 753 }, 754 "overloads": [], 755 "decorators": [], 756 "loc": { 757 "start": { 758 "line": 20, 759 "column": 2 760 }, 761 "end": { 762 "line": 20, 763 "column": 2 764 } 765 } 766 } 767 ], 768 "loc": { 769 "start": { 770 "line": 16, 771 "column": 12 772 }, 773 "end": { 774 "line": 20, 775 "column": 2 776 } 777 } 778 }, 779 "loc": { 780 "start": { 781 "line": 16, 782 "column": 1 783 }, 784 "end": { 785 "line": 20, 786 "column": 2 787 } 788 } 789 }, 790 { 791 "type": "ClassDeclaration", 792 "definition": { 793 "id": { 794 "type": "Identifier", 795 "name": "ETSGLOBAL", 796 "decorators": [], 797 "loc": { 798 "start": { 799 "line": 1, 800 "column": 1 801 }, 802 "end": { 803 "line": 1, 804 "column": 1 805 } 806 } 807 }, 808 "superClass": null, 809 "implements": [], 810 "body": [ 811 { 812 "type": "MethodDefinition", 813 "key": { 814 "type": "Identifier", 815 "name": "_$init$_", 816 "decorators": [], 817 "loc": { 818 "start": { 819 "line": 1, 820 "column": 1 821 }, 822 "end": { 823 "line": 1, 824 "column": 1 825 } 826 } 827 }, 828 "kind": "method", 829 "accessibility": "public", 830 "static": true, 831 "optional": false, 832 "computed": false, 833 "value": { 834 "type": "FunctionExpression", 835 "function": { 836 "type": "ScriptFunction", 837 "id": { 838 "type": "Identifier", 839 "name": "_$init$_", 840 "decorators": [], 841 "loc": { 842 "start": { 843 "line": 1, 844 "column": 1 845 }, 846 "end": { 847 "line": 1, 848 "column": 1 849 } 850 } 851 }, 852 "generator": false, 853 "async": false, 854 "expression": false, 855 "params": [], 856 "body": { 857 "type": "BlockStatement", 858 "statements": [], 859 "loc": { 860 "start": { 861 "line": 1, 862 "column": 1 863 }, 864 "end": { 865 "line": 1, 866 "column": 1 867 } 868 } 869 }, 870 "loc": { 871 "start": { 872 "line": 1, 873 "column": 1 874 }, 875 "end": { 876 "line": 1, 877 "column": 1 878 } 879 } 880 }, 881 "loc": { 882 "start": { 883 "line": 1, 884 "column": 1 885 }, 886 "end": { 887 "line": 1, 888 "column": 1 889 } 890 } 891 }, 892 "overloads": [], 893 "decorators": [], 894 "loc": { 895 "start": { 896 "line": 1, 897 "column": 1 898 }, 899 "end": { 900 "line": 1, 901 "column": 1 902 } 903 } 904 }, 905 { 906 "type": "MethodDefinition", 907 "key": { 908 "type": "Identifier", 909 "name": "main", 910 "decorators": [], 911 "loc": { 912 "start": { 913 "line": 22, 914 "column": 10 915 }, 916 "end": { 917 "line": 22, 918 "column": 14 919 } 920 } 921 }, 922 "kind": "method", 923 "accessibility": "public", 924 "static": true, 925 "optional": false, 926 "computed": false, 927 "value": { 928 "type": "FunctionExpression", 929 "function": { 930 "type": "ScriptFunction", 931 "id": { 932 "type": "Identifier", 933 "name": "main", 934 "decorators": [], 935 "loc": { 936 "start": { 937 "line": 22, 938 "column": 10 939 }, 940 "end": { 941 "line": 22, 942 "column": 14 943 } 944 } 945 }, 946 "generator": false, 947 "async": false, 948 "expression": false, 949 "params": [], 950 "returnType": { 951 "type": "ETSPrimitiveType", 952 "loc": { 953 "start": { 954 "line": 22, 955 "column": 18 956 }, 957 "end": { 958 "line": 22, 959 "column": 22 960 } 961 } 962 }, 963 "body": { 964 "type": "BlockStatement", 965 "statements": [ 966 { 967 "type": "VariableDeclaration", 968 "declarations": [ 969 { 970 "type": "VariableDeclarator", 971 "id": { 972 "type": "Identifier", 973 "name": "x", 974 "decorators": [], 975 "loc": { 976 "start": { 977 "line": 23, 978 "column": 9 979 }, 980 "end": { 981 "line": 23, 982 "column": 10 983 } 984 } 985 }, 986 "init": { 987 "type": "ETSNewClassInstanceExpression", 988 "typeReference": { 989 "type": "ETSTypeReference", 990 "part": { 991 "type": "ETSTypeReferencePart", 992 "name": { 993 "type": "Identifier", 994 "name": "A", 995 "decorators": [], 996 "loc": { 997 "start": { 998 "line": 23, 999 "column": 17 1000 }, 1001 "end": { 1002 "line": 23, 1003 "column": 18 1004 } 1005 } 1006 }, 1007 "typeParams": { 1008 "type": "TSTypeParameterInstantiation", 1009 "params": [ 1010 { 1011 "type": "ETSTypeReference", 1012 "part": { 1013 "type": "ETSTypeReferencePart", 1014 "name": { 1015 "type": "Identifier", 1016 "name": "number", 1017 "decorators": [], 1018 "loc": { 1019 "start": { 1020 "line": 23, 1021 "column": 19 1022 }, 1023 "end": { 1024 "line": 23, 1025 "column": 25 1026 } 1027 } 1028 }, 1029 "loc": { 1030 "start": { 1031 "line": 23, 1032 "column": 19 1033 }, 1034 "end": { 1035 "line": 23, 1036 "column": 26 1037 } 1038 } 1039 }, 1040 "loc": { 1041 "start": { 1042 "line": 23, 1043 "column": 19 1044 }, 1045 "end": { 1046 "line": 23, 1047 "column": 26 1048 } 1049 } 1050 } 1051 ], 1052 "loc": { 1053 "start": { 1054 "line": 23, 1055 "column": 18 1056 }, 1057 "end": { 1058 "line": 23, 1059 "column": 26 1060 } 1061 } 1062 }, 1063 "loc": { 1064 "start": { 1065 "line": 23, 1066 "column": 17 1067 }, 1068 "end": { 1069 "line": 23, 1070 "column": 27 1071 } 1072 } 1073 }, 1074 "loc": { 1075 "start": { 1076 "line": 23, 1077 "column": 17 1078 }, 1079 "end": { 1080 "line": 23, 1081 "column": 27 1082 } 1083 } 1084 }, 1085 "arguments": [], 1086 "loc": { 1087 "start": { 1088 "line": 23, 1089 "column": 13 1090 }, 1091 "end": { 1092 "line": 24, 1093 "column": 4 1094 } 1095 } 1096 }, 1097 "loc": { 1098 "start": { 1099 "line": 23, 1100 "column": 9 1101 }, 1102 "end": { 1103 "line": 24, 1104 "column": 4 1105 } 1106 } 1107 } 1108 ], 1109 "kind": "const", 1110 "loc": { 1111 "start": { 1112 "line": 23, 1113 "column": 3 1114 }, 1115 "end": { 1116 "line": 24, 1117 "column": 4 1118 } 1119 } 1120 }, 1121 { 1122 "type": "ExpressionStatement", 1123 "expression": { 1124 "type": "CallExpression", 1125 "callee": { 1126 "type": "MemberExpression", 1127 "object": { 1128 "type": "Identifier", 1129 "name": "x", 1130 "decorators": [], 1131 "loc": { 1132 "start": { 1133 "line": 24, 1134 "column": 3 1135 }, 1136 "end": { 1137 "line": 24, 1138 "column": 4 1139 } 1140 } 1141 }, 1142 "property": { 1143 "type": "Identifier", 1144 "name": "foo", 1145 "decorators": [], 1146 "loc": { 1147 "start": { 1148 "line": 24, 1149 "column": 5 1150 }, 1151 "end": { 1152 "line": 24, 1153 "column": 8 1154 } 1155 } 1156 }, 1157 "computed": false, 1158 "optional": false, 1159 "loc": { 1160 "start": { 1161 "line": 24, 1162 "column": 3 1163 }, 1164 "end": { 1165 "line": 24, 1166 "column": 8 1167 } 1168 } 1169 }, 1170 "arguments": [ 1171 { 1172 "type": "ArrowFunctionExpression", 1173 "function": { 1174 "type": "ScriptFunction", 1175 "id": null, 1176 "generator": false, 1177 "async": false, 1178 "expression": true, 1179 "params": [ 1180 { 1181 "type": "ETSParameterExpression", 1182 "name": { 1183 "type": "Identifier", 1184 "name": "a", 1185 "typeAnnotation": { 1186 "type": "ETSTypeReference", 1187 "part": { 1188 "type": "ETSTypeReferencePart", 1189 "name": { 1190 "type": "Identifier", 1191 "name": "number", 1192 "decorators": [], 1193 "loc": { 1194 "start": { 1195 "line": 24, 1196 "column": 13 1197 }, 1198 "end": { 1199 "line": 24, 1200 "column": 19 1201 } 1202 } 1203 }, 1204 "loc": { 1205 "start": { 1206 "line": 24, 1207 "column": 13 1208 }, 1209 "end": { 1210 "line": 24, 1211 "column": 20 1212 } 1213 } 1214 }, 1215 "loc": { 1216 "start": { 1217 "line": 24, 1218 "column": 13 1219 }, 1220 "end": { 1221 "line": 24, 1222 "column": 20 1223 } 1224 } 1225 }, 1226 "decorators": [], 1227 "loc": { 1228 "start": { 1229 "line": 24, 1230 "column": 10 1231 }, 1232 "end": { 1233 "line": 24, 1234 "column": 20 1235 } 1236 } 1237 }, 1238 "loc": { 1239 "start": { 1240 "line": 24, 1241 "column": 10 1242 }, 1243 "end": { 1244 "line": 24, 1245 "column": 20 1246 } 1247 } 1248 }, 1249 { 1250 "type": "ETSParameterExpression", 1251 "name": { 1252 "type": "Identifier", 1253 "name": "b", 1254 "typeAnnotation": { 1255 "type": "ETSTypeReference", 1256 "part": { 1257 "type": "ETSTypeReferencePart", 1258 "name": { 1259 "type": "Identifier", 1260 "name": "number", 1261 "decorators": [], 1262 "loc": { 1263 "start": { 1264 "line": 24, 1265 "column": 24 1266 }, 1267 "end": { 1268 "line": 24, 1269 "column": 30 1270 } 1271 } 1272 }, 1273 "loc": { 1274 "start": { 1275 "line": 24, 1276 "column": 24 1277 }, 1278 "end": { 1279 "line": 24, 1280 "column": 31 1281 } 1282 } 1283 }, 1284 "loc": { 1285 "start": { 1286 "line": 24, 1287 "column": 24 1288 }, 1289 "end": { 1290 "line": 24, 1291 "column": 31 1292 } 1293 } 1294 }, 1295 "decorators": [], 1296 "loc": { 1297 "start": { 1298 "line": 24, 1299 "column": 21 1300 }, 1301 "end": { 1302 "line": 24, 1303 "column": 31 1304 } 1305 } 1306 }, 1307 "loc": { 1308 "start": { 1309 "line": 24, 1310 "column": 21 1311 }, 1312 "end": { 1313 "line": 24, 1314 "column": 31 1315 } 1316 } 1317 } 1318 ], 1319 "returnType": { 1320 "type": "ETSTypeReference", 1321 "part": { 1322 "type": "ETSTypeReferencePart", 1323 "name": { 1324 "type": "Identifier", 1325 "name": "number", 1326 "decorators": [], 1327 "loc": { 1328 "start": { 1329 "line": 24, 1330 "column": 33 1331 }, 1332 "end": { 1333 "line": 24, 1334 "column": 39 1335 } 1336 } 1337 }, 1338 "loc": { 1339 "start": { 1340 "line": 24, 1341 "column": 33 1342 }, 1343 "end": { 1344 "line": 24, 1345 "column": 42 1346 } 1347 } 1348 }, 1349 "loc": { 1350 "start": { 1351 "line": 24, 1352 "column": 33 1353 }, 1354 "end": { 1355 "line": 24, 1356 "column": 42 1357 } 1358 } 1359 }, 1360 "body": { 1361 "type": "BlockStatement", 1362 "statements": [ 1363 { 1364 "type": "ReturnStatement", 1365 "argument": { 1366 "type": "BinaryExpression", 1367 "operator": "-", 1368 "left": { 1369 "type": "Identifier", 1370 "name": "b", 1371 "decorators": [], 1372 "loc": { 1373 "start": { 1374 "line": 24, 1375 "column": 43 1376 }, 1377 "end": { 1378 "line": 24, 1379 "column": 44 1380 } 1381 } 1382 }, 1383 "right": { 1384 "type": "Identifier", 1385 "name": "a", 1386 "decorators": [], 1387 "loc": { 1388 "start": { 1389 "line": 24, 1390 "column": 47 1391 }, 1392 "end": { 1393 "line": 24, 1394 "column": 48 1395 } 1396 } 1397 }, 1398 "loc": { 1399 "start": { 1400 "line": 24, 1401 "column": 43 1402 }, 1403 "end": { 1404 "line": 24, 1405 "column": 48 1406 } 1407 } 1408 }, 1409 "loc": { 1410 "start": { 1411 "line": 1, 1412 "column": 1 1413 }, 1414 "end": { 1415 "line": 1, 1416 "column": 1 1417 } 1418 } 1419 } 1420 ], 1421 "loc": { 1422 "start": { 1423 "line": 1, 1424 "column": 1 1425 }, 1426 "end": { 1427 "line": 1, 1428 "column": 1 1429 } 1430 } 1431 }, 1432 "loc": { 1433 "start": { 1434 "line": 24, 1435 "column": 9 1436 }, 1437 "end": { 1438 "line": 24, 1439 "column": 48 1440 } 1441 } 1442 }, 1443 "loc": { 1444 "start": { 1445 "line": 24, 1446 "column": 9 1447 }, 1448 "end": { 1449 "line": 24, 1450 "column": 48 1451 } 1452 } 1453 } 1454 ], 1455 "optional": false, 1456 "loc": { 1457 "start": { 1458 "line": 24, 1459 "column": 3 1460 }, 1461 "end": { 1462 "line": 24, 1463 "column": 49 1464 } 1465 } 1466 }, 1467 "loc": { 1468 "start": { 1469 "line": 24, 1470 "column": 3 1471 }, 1472 "end": { 1473 "line": 24, 1474 "column": 49 1475 } 1476 } 1477 } 1478 ], 1479 "loc": { 1480 "start": { 1481 "line": 22, 1482 "column": 23 1483 }, 1484 "end": { 1485 "line": 25, 1486 "column": 2 1487 } 1488 } 1489 }, 1490 "loc": { 1491 "start": { 1492 "line": 22, 1493 "column": 14 1494 }, 1495 "end": { 1496 "line": 25, 1497 "column": 2 1498 } 1499 } 1500 }, 1501 "loc": { 1502 "start": { 1503 "line": 22, 1504 "column": 14 1505 }, 1506 "end": { 1507 "line": 25, 1508 "column": 2 1509 } 1510 } 1511 }, 1512 "overloads": [], 1513 "decorators": [], 1514 "loc": { 1515 "start": { 1516 "line": 22, 1517 "column": 1 1518 }, 1519 "end": { 1520 "line": 25, 1521 "column": 2 1522 } 1523 } 1524 } 1525 ], 1526 "loc": { 1527 "start": { 1528 "line": 1, 1529 "column": 1 1530 }, 1531 "end": { 1532 "line": 1, 1533 "column": 1 1534 } 1535 } 1536 }, 1537 "loc": { 1538 "start": { 1539 "line": 1, 1540 "column": 1 1541 }, 1542 "end": { 1543 "line": 1, 1544 "column": 1 1545 } 1546 } 1547 } 1548 ], 1549 "loc": { 1550 "start": { 1551 "line": 1, 1552 "column": 1 1553 }, 1554 "end": { 1555 "line": 26, 1556 "column": 1 1557 } 1558 } 1559} 1560