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