1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "Foo", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 17, 14 "column": 7, 15 "program": "test-class-definition.ts" 16 }, 17 "end": { 18 "line": 17, 19 "column": 10, 20 "program": "test-class-definition.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": 17, 35 "column": 12, 36 "program": "test-class-definition.ts" 37 }, 38 "end": { 39 "line": 17, 40 "column": 12, 41 "program": "test-class-definition.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 "body": { 59 "type": "BlockStatement", 60 "statements": [], 61 "loc": { 62 "start": { 63 "line": 17, 64 "column": 12, 65 "program": "test-class-definition.ts" 66 }, 67 "end": { 68 "line": 17, 69 "column": 12, 70 "program": "test-class-definition.ts" 71 } 72 } 73 }, 74 "loc": { 75 "start": { 76 "line": 17, 77 "column": 12, 78 "program": "test-class-definition.ts" 79 }, 80 "end": { 81 "line": 17, 82 "column": 12, 83 "program": "test-class-definition.ts" 84 } 85 } 86 }, 87 "loc": { 88 "start": { 89 "line": 17, 90 "column": 12, 91 "program": "test-class-definition.ts" 92 }, 93 "end": { 94 "line": 17, 95 "column": 12, 96 "program": "test-class-definition.ts" 97 } 98 } 99 }, 100 "overloads": [], 101 "decorators": [], 102 "loc": { 103 "start": { 104 "line": 1, 105 "column": 1, 106 "program": null 107 }, 108 "end": { 109 "line": 1, 110 "column": 1, 111 "program": null 112 } 113 } 114 }, 115 "body": [ 116 { 117 "type": "MethodDefinition", 118 "key": { 119 "type": "Identifier", 120 "name": "a", 121 "decorators": [], 122 "loc": { 123 "start": { 124 "line": 18, 125 "column": 24, 126 "program": "test-class-definition.ts" 127 }, 128 "end": { 129 "line": 18, 130 "column": 25, 131 "program": "test-class-definition.ts" 132 } 133 } 134 }, 135 "kind": "get", 136 "accessibility": "private", 137 "static": true, 138 "optional": false, 139 "computed": false, 140 "value": { 141 "type": "FunctionExpression", 142 "function": { 143 "type": "ScriptFunction", 144 "id": null, 145 "generator": false, 146 "async": false, 147 "expression": false, 148 "params": [], 149 "body": { 150 "type": "BlockStatement", 151 "statements": [ 152 { 153 "type": "ReturnStatement", 154 "argument": null, 155 "loc": { 156 "start": { 157 "line": 18, 158 "column": 30, 159 "program": "test-class-definition.ts" 160 }, 161 "end": { 162 "line": 18, 163 "column": 36, 164 "program": "test-class-definition.ts" 165 } 166 } 167 } 168 ], 169 "loc": { 170 "start": { 171 "line": 18, 172 "column": 28, 173 "program": "test-class-definition.ts" 174 }, 175 "end": { 176 "line": 18, 177 "column": 38, 178 "program": "test-class-definition.ts" 179 } 180 } 181 }, 182 "loc": { 183 "start": { 184 "line": 18, 185 "column": 25, 186 "program": "test-class-definition.ts" 187 }, 188 "end": { 189 "line": 18, 190 "column": 38, 191 "program": "test-class-definition.ts" 192 } 193 } 194 }, 195 "loc": { 196 "start": { 197 "line": 18, 198 "column": 25, 199 "program": "test-class-definition.ts" 200 }, 201 "end": { 202 "line": 18, 203 "column": 38, 204 "program": "test-class-definition.ts" 205 } 206 } 207 }, 208 "overloads": [], 209 "decorators": [], 210 "loc": { 211 "start": { 212 "line": 18, 213 "column": 5, 214 "program": "test-class-definition.ts" 215 }, 216 "end": { 217 "line": 18, 218 "column": 38, 219 "program": "test-class-definition.ts" 220 } 221 } 222 }, 223 { 224 "type": "MethodDefinition", 225 "key": { 226 "type": "Identifier", 227 "name": "g", 228 "decorators": [], 229 "loc": { 230 "start": { 231 "line": 19, 232 "column": 19, 233 "program": "test-class-definition.ts" 234 }, 235 "end": { 236 "line": 19, 237 "column": 20, 238 "program": "test-class-definition.ts" 239 } 240 } 241 }, 242 "kind": "method", 243 "accessibility": "public", 244 "static": false, 245 "optional": false, 246 "computed": false, 247 "value": { 248 "type": "FunctionExpression", 249 "function": { 250 "type": "ScriptFunction", 251 "id": null, 252 "generator": true, 253 "async": true, 254 "expression": false, 255 "params": [], 256 "body": { 257 "type": "BlockStatement", 258 "statements": [], 259 "loc": { 260 "start": { 261 "line": 19, 262 "column": 23, 263 "program": "test-class-definition.ts" 264 }, 265 "end": { 266 "line": 19, 267 "column": 26, 268 "program": "test-class-definition.ts" 269 } 270 } 271 }, 272 "loc": { 273 "start": { 274 "line": 19, 275 "column": 20, 276 "program": "test-class-definition.ts" 277 }, 278 "end": { 279 "line": 19, 280 "column": 26, 281 "program": "test-class-definition.ts" 282 } 283 } 284 }, 285 "loc": { 286 "start": { 287 "line": 19, 288 "column": 20, 289 "program": "test-class-definition.ts" 290 }, 291 "end": { 292 "line": 19, 293 "column": 26, 294 "program": "test-class-definition.ts" 295 } 296 } 297 }, 298 "overloads": [], 299 "decorators": [], 300 "loc": { 301 "start": { 302 "line": 19, 303 "column": 5, 304 "program": "test-class-definition.ts" 305 }, 306 "end": { 307 "line": 19, 308 "column": 26, 309 "program": "test-class-definition.ts" 310 } 311 } 312 }, 313 { 314 "type": "ClassProperty", 315 "key": { 316 "type": "NumberLiteral", 317 "value": 5, 318 "loc": { 319 "start": { 320 "line": 20, 321 "column": 30, 322 "program": "test-class-definition.ts" 323 }, 324 "end": { 325 "line": 20, 326 "column": 31, 327 "program": "test-class-definition.ts" 328 } 329 } 330 }, 331 "static": true, 332 "readonly": true, 333 "declare": true, 334 "optional": false, 335 "computed": true, 336 "definite": false, 337 "decorators": [], 338 "loc": { 339 "start": { 340 "line": 20, 341 "column": 5, 342 "program": "test-class-definition.ts" 343 }, 344 "end": { 345 "line": 20, 346 "column": 31, 347 "program": "test-class-definition.ts" 348 } 349 } 350 }, 351 { 352 "type": "ClassProperty", 353 "key": { 354 "type": "StringLiteral", 355 "value": "b", 356 "loc": { 357 "start": { 358 "line": 21, 359 "column": 30, 360 "program": "test-class-definition.ts" 361 }, 362 "end": { 363 "line": 21, 364 "column": 33, 365 "program": "test-class-definition.ts" 366 } 367 } 368 }, 369 "static": true, 370 "readonly": true, 371 "declare": true, 372 "optional": false, 373 "computed": true, 374 "definite": false, 375 "decorators": [], 376 "loc": { 377 "start": { 378 "line": 21, 379 "column": 5, 380 "program": "test-class-definition.ts" 381 }, 382 "end": { 383 "line": 21, 384 "column": 33, 385 "program": "test-class-definition.ts" 386 } 387 } 388 }, 389 { 390 "type": "ClassProperty", 391 "key": { 392 "type": "NumberLiteral", 393 "value": 67, 394 "loc": { 395 "start": { 396 "line": 22, 397 "column": 29, 398 "program": "test-class-definition.ts" 399 }, 400 "end": { 401 "line": 22, 402 "column": 31, 403 "program": "test-class-definition.ts" 404 } 405 } 406 }, 407 "static": true, 408 "readonly": true, 409 "declare": true, 410 "optional": false, 411 "computed": false, 412 "definite": false, 413 "decorators": [], 414 "loc": { 415 "start": { 416 "line": 22, 417 "column": 5, 418 "program": "test-class-definition.ts" 419 }, 420 "end": { 421 "line": 22, 422 "column": 31, 423 "program": "test-class-definition.ts" 424 } 425 } 426 }, 427 { 428 "type": "ClassProperty", 429 "key": { 430 "type": "Identifier", 431 "name": "j", 432 "decorators": [], 433 "loc": { 434 "start": { 435 "line": 23, 436 "column": 29, 437 "program": "test-class-definition.ts" 438 }, 439 "end": { 440 "line": 23, 441 "column": 30, 442 "program": "test-class-definition.ts" 443 } 444 } 445 }, 446 "static": true, 447 "readonly": true, 448 "declare": true, 449 "optional": false, 450 "computed": false, 451 "definite": false, 452 "decorators": [], 453 "loc": { 454 "start": { 455 "line": 23, 456 "column": 5, 457 "program": "test-class-definition.ts" 458 }, 459 "end": { 460 "line": 23, 461 "column": 30, 462 "program": "test-class-definition.ts" 463 } 464 } 465 }, 466 { 467 "type": "ClassProperty", 468 "key": { 469 "type": "Identifier", 470 "name": "private", 471 "decorators": [], 472 "loc": { 473 "start": { 474 "line": 24, 475 "column": 5, 476 "program": "test-class-definition.ts" 477 }, 478 "end": { 479 "line": 24, 480 "column": 12, 481 "program": "test-class-definition.ts" 482 } 483 } 484 }, 485 "static": false, 486 "readonly": false, 487 "declare": false, 488 "optional": false, 489 "computed": false, 490 "definite": false, 491 "decorators": [], 492 "loc": { 493 "start": { 494 "line": 24, 495 "column": 5, 496 "program": "test-class-definition.ts" 497 }, 498 "end": { 499 "line": 24, 500 "column": 12, 501 "program": "test-class-definition.ts" 502 } 503 } 504 }, 505 { 506 "type": "MethodDefinition", 507 "key": { 508 "type": "NumberLiteral", 509 "value": 1, 510 "loc": { 511 "start": { 512 "line": 25, 513 "column": 17, 514 "program": "test-class-definition.ts" 515 }, 516 "end": { 517 "line": 25, 518 "column": 18, 519 "program": "test-class-definition.ts" 520 } 521 } 522 }, 523 "kind": "method", 524 "accessibility": "protected", 525 "static": false, 526 "optional": false, 527 "computed": true, 528 "value": { 529 "type": "FunctionExpression", 530 "function": { 531 "type": "ScriptFunction", 532 "id": null, 533 "generator": true, 534 "async": false, 535 "expression": false, 536 "params": [], 537 "body": { 538 "type": "BlockStatement", 539 "statements": [], 540 "loc": { 541 "start": { 542 "line": 25, 543 "column": 22, 544 "program": "test-class-definition.ts" 545 }, 546 "end": { 547 "line": 25, 548 "column": 25, 549 "program": "test-class-definition.ts" 550 } 551 } 552 }, 553 "loc": { 554 "start": { 555 "line": 25, 556 "column": 19, 557 "program": "test-class-definition.ts" 558 }, 559 "end": { 560 "line": 25, 561 "column": 25, 562 "program": "test-class-definition.ts" 563 } 564 } 565 }, 566 "loc": { 567 "start": { 568 "line": 25, 569 "column": 19, 570 "program": "test-class-definition.ts" 571 }, 572 "end": { 573 "line": 25, 574 "column": 25, 575 "program": "test-class-definition.ts" 576 } 577 } 578 }, 579 "overloads": [], 580 "decorators": [], 581 "loc": { 582 "start": { 583 "line": 25, 584 "column": 5, 585 "program": "test-class-definition.ts" 586 }, 587 "end": { 588 "line": 25, 589 "column": 25, 590 "program": "test-class-definition.ts" 591 } 592 } 593 }, 594 { 595 "type": "ClassProperty", 596 "key": { 597 "type": "Identifier", 598 "name": "k", 599 "decorators": [], 600 "loc": { 601 "start": { 602 "line": 26, 603 "column": 19, 604 "program": "test-class-definition.ts" 605 }, 606 "end": { 607 "line": 26, 608 "column": 20, 609 "program": "test-class-definition.ts" 610 } 611 } 612 }, 613 "value": { 614 "type": "StringLiteral", 615 "value": "bar", 616 "loc": { 617 "start": { 618 "line": 26, 619 "column": 23, 620 "program": "test-class-definition.ts" 621 }, 622 "end": { 623 "line": 26, 624 "column": 28, 625 "program": "test-class-definition.ts" 626 } 627 } 628 }, 629 "accessibility": "public", 630 "static": true, 631 "readonly": false, 632 "declare": false, 633 "optional": false, 634 "computed": false, 635 "definite": false, 636 "decorators": [], 637 "loc": { 638 "start": { 639 "line": 26, 640 "column": 5, 641 "program": "test-class-definition.ts" 642 }, 643 "end": { 644 "line": 26, 645 "column": 28, 646 "program": "test-class-definition.ts" 647 } 648 } 649 }, 650 { 651 "type": "ClassProperty", 652 "key": { 653 "type": "PrivateIdentifier", 654 "name": "o", 655 "decorators": [], 656 "loc": { 657 "start": { 658 "line": 27, 659 "column": 6, 660 "program": "test-class-definition.ts" 661 }, 662 "end": { 663 "line": 27, 664 "column": 7, 665 "program": "test-class-definition.ts" 666 } 667 } 668 }, 669 "value": { 670 "type": "NumberLiteral", 671 "value": 4, 672 "loc": { 673 "start": { 674 "line": 27, 675 "column": 10, 676 "program": "test-class-definition.ts" 677 }, 678 "end": { 679 "line": 27, 680 "column": 11, 681 "program": "test-class-definition.ts" 682 } 683 } 684 }, 685 "static": false, 686 "readonly": false, 687 "declare": false, 688 "optional": false, 689 "computed": false, 690 "definite": false, 691 "decorators": [], 692 "loc": { 693 "start": { 694 "line": 27, 695 "column": 5, 696 "program": "test-class-definition.ts" 697 }, 698 "end": { 699 "line": 27, 700 "column": 11, 701 "program": "test-class-definition.ts" 702 } 703 } 704 }, 705 { 706 "type": "MethodDefinition", 707 "key": { 708 "type": "Identifier", 709 "name": "l", 710 "decorators": [], 711 "loc": { 712 "start": { 713 "line": 28, 714 "column": 9, 715 "program": "test-class-definition.ts" 716 }, 717 "end": { 718 "line": 28, 719 "column": 10, 720 "program": "test-class-definition.ts" 721 } 722 } 723 }, 724 "kind": "set", 725 "static": false, 726 "optional": false, 727 "computed": false, 728 "value": { 729 "type": "FunctionExpression", 730 "function": { 731 "type": "ScriptFunction", 732 "id": null, 733 "generator": false, 734 "async": false, 735 "expression": false, 736 "params": [ 737 { 738 "type": "Identifier", 739 "name": "b", 740 "typeAnnotation": { 741 "type": "TSNumberKeyword", 742 "loc": { 743 "start": { 744 "line": 28, 745 "column": 14, 746 "program": "test-class-definition.ts" 747 }, 748 "end": { 749 "line": 28, 750 "column": 20, 751 "program": "test-class-definition.ts" 752 } 753 } 754 }, 755 "decorators": [], 756 "loc": { 757 "start": { 758 "line": 28, 759 "column": 11, 760 "program": "test-class-definition.ts" 761 }, 762 "end": { 763 "line": 28, 764 "column": 12, 765 "program": "test-class-definition.ts" 766 } 767 } 768 } 769 ], 770 "body": { 771 "type": "BlockStatement", 772 "statements": [], 773 "loc": { 774 "start": { 775 "line": 28, 776 "column": 22, 777 "program": "test-class-definition.ts" 778 }, 779 "end": { 780 "line": 28, 781 "column": 25, 782 "program": "test-class-definition.ts" 783 } 784 } 785 }, 786 "loc": { 787 "start": { 788 "line": 28, 789 "column": 10, 790 "program": "test-class-definition.ts" 791 }, 792 "end": { 793 "line": 28, 794 "column": 25, 795 "program": "test-class-definition.ts" 796 } 797 } 798 }, 799 "loc": { 800 "start": { 801 "line": 28, 802 "column": 10, 803 "program": "test-class-definition.ts" 804 }, 805 "end": { 806 "line": 28, 807 "column": 25, 808 "program": "test-class-definition.ts" 809 } 810 } 811 }, 812 "overloads": [], 813 "decorators": [], 814 "loc": { 815 "start": { 816 "line": 28, 817 "column": 5, 818 "program": "test-class-definition.ts" 819 }, 820 "end": { 821 "line": 28, 822 "column": 25, 823 "program": "test-class-definition.ts" 824 } 825 } 826 }, 827 { 828 "type": "MethodDefinition", 829 "key": { 830 "type": "Identifier", 831 "name": "l", 832 "decorators": [], 833 "loc": { 834 "start": { 835 "line": 29, 836 "column": 16, 837 "program": "test-class-definition.ts" 838 }, 839 "end": { 840 "line": 29, 841 "column": 17, 842 "program": "test-class-definition.ts" 843 } 844 } 845 }, 846 "kind": "get", 847 "accessibility": "public", 848 "static": false, 849 "optional": false, 850 "computed": false, 851 "value": { 852 "type": "FunctionExpression", 853 "function": { 854 "type": "ScriptFunction", 855 "id": null, 856 "generator": false, 857 "async": false, 858 "expression": false, 859 "params": [], 860 "body": { 861 "type": "BlockStatement", 862 "statements": [ 863 { 864 "type": "ReturnStatement", 865 "argument": { 866 "type": "NumberLiteral", 867 "value": 2, 868 "loc": { 869 "start": { 870 "line": 29, 871 "column": 29, 872 "program": "test-class-definition.ts" 873 }, 874 "end": { 875 "line": 29, 876 "column": 30, 877 "program": "test-class-definition.ts" 878 } 879 } 880 }, 881 "loc": { 882 "start": { 883 "line": 29, 884 "column": 22, 885 "program": "test-class-definition.ts" 886 }, 887 "end": { 888 "line": 29, 889 "column": 30, 890 "program": "test-class-definition.ts" 891 } 892 } 893 } 894 ], 895 "loc": { 896 "start": { 897 "line": 29, 898 "column": 20, 899 "program": "test-class-definition.ts" 900 }, 901 "end": { 902 "line": 29, 903 "column": 32, 904 "program": "test-class-definition.ts" 905 } 906 } 907 }, 908 "loc": { 909 "start": { 910 "line": 29, 911 "column": 17, 912 "program": "test-class-definition.ts" 913 }, 914 "end": { 915 "line": 29, 916 "column": 32, 917 "program": "test-class-definition.ts" 918 } 919 } 920 }, 921 "loc": { 922 "start": { 923 "line": 29, 924 "column": 17, 925 "program": "test-class-definition.ts" 926 }, 927 "end": { 928 "line": 29, 929 "column": 32, 930 "program": "test-class-definition.ts" 931 } 932 } 933 }, 934 "overloads": [], 935 "decorators": [], 936 "loc": { 937 "start": { 938 "line": 29, 939 "column": 5, 940 "program": "test-class-definition.ts" 941 }, 942 "end": { 943 "line": 29, 944 "column": 32, 945 "program": "test-class-definition.ts" 946 } 947 } 948 }, 949 { 950 "type": "MethodDefinition", 951 "key": { 952 "type": "Identifier", 953 "name": "m", 954 "decorators": [], 955 "loc": { 956 "start": { 957 "line": 30, 958 "column": 16, 959 "program": "test-class-definition.ts" 960 }, 961 "end": { 962 "line": 30, 963 "column": 17, 964 "program": "test-class-definition.ts" 965 } 966 } 967 }, 968 "kind": "get", 969 "accessibility": "public", 970 "static": false, 971 "optional": false, 972 "computed": false, 973 "value": { 974 "type": "FunctionExpression", 975 "function": { 976 "type": "ScriptFunction", 977 "id": null, 978 "generator": false, 979 "async": false, 980 "expression": false, 981 "params": [], 982 "body": { 983 "type": "BlockStatement", 984 "statements": [ 985 { 986 "type": "ReturnStatement", 987 "argument": { 988 "type": "NumberLiteral", 989 "value": 2, 990 "loc": { 991 "start": { 992 "line": 30, 993 "column": 29, 994 "program": "test-class-definition.ts" 995 }, 996 "end": { 997 "line": 30, 998 "column": 30, 999 "program": "test-class-definition.ts" 1000 } 1001 } 1002 }, 1003 "loc": { 1004 "start": { 1005 "line": 30, 1006 "column": 22, 1007 "program": "test-class-definition.ts" 1008 }, 1009 "end": { 1010 "line": 30, 1011 "column": 30, 1012 "program": "test-class-definition.ts" 1013 } 1014 } 1015 } 1016 ], 1017 "loc": { 1018 "start": { 1019 "line": 30, 1020 "column": 20, 1021 "program": "test-class-definition.ts" 1022 }, 1023 "end": { 1024 "line": 30, 1025 "column": 32, 1026 "program": "test-class-definition.ts" 1027 } 1028 } 1029 }, 1030 "loc": { 1031 "start": { 1032 "line": 30, 1033 "column": 17, 1034 "program": "test-class-definition.ts" 1035 }, 1036 "end": { 1037 "line": 30, 1038 "column": 32, 1039 "program": "test-class-definition.ts" 1040 } 1041 } 1042 }, 1043 "loc": { 1044 "start": { 1045 "line": 30, 1046 "column": 17, 1047 "program": "test-class-definition.ts" 1048 }, 1049 "end": { 1050 "line": 30, 1051 "column": 32, 1052 "program": "test-class-definition.ts" 1053 } 1054 } 1055 }, 1056 "overloads": [], 1057 "decorators": [], 1058 "loc": { 1059 "start": { 1060 "line": 30, 1061 "column": 5, 1062 "program": "test-class-definition.ts" 1063 }, 1064 "end": { 1065 "line": 30, 1066 "column": 32, 1067 "program": "test-class-definition.ts" 1068 } 1069 } 1070 }, 1071 { 1072 "type": "MethodDefinition", 1073 "key": { 1074 "type": "Identifier", 1075 "name": "m", 1076 "decorators": [], 1077 "loc": { 1078 "start": { 1079 "line": 31, 1080 "column": 19, 1081 "program": "test-class-definition.ts" 1082 }, 1083 "end": { 1084 "line": 31, 1085 "column": 20, 1086 "program": "test-class-definition.ts" 1087 } 1088 } 1089 }, 1090 "kind": "set", 1091 "accessibility": "protected", 1092 "static": false, 1093 "optional": false, 1094 "computed": false, 1095 "value": { 1096 "type": "FunctionExpression", 1097 "function": { 1098 "type": "ScriptFunction", 1099 "id": null, 1100 "generator": false, 1101 "async": false, 1102 "expression": false, 1103 "params": [ 1104 { 1105 "type": "Identifier", 1106 "name": "b", 1107 "typeAnnotation": { 1108 "type": "TSNumberKeyword", 1109 "loc": { 1110 "start": { 1111 "line": 31, 1112 "column": 24, 1113 "program": "test-class-definition.ts" 1114 }, 1115 "end": { 1116 "line": 31, 1117 "column": 30, 1118 "program": "test-class-definition.ts" 1119 } 1120 } 1121 }, 1122 "decorators": [], 1123 "loc": { 1124 "start": { 1125 "line": 31, 1126 "column": 21, 1127 "program": "test-class-definition.ts" 1128 }, 1129 "end": { 1130 "line": 31, 1131 "column": 22, 1132 "program": "test-class-definition.ts" 1133 } 1134 } 1135 } 1136 ], 1137 "body": { 1138 "type": "BlockStatement", 1139 "statements": [], 1140 "loc": { 1141 "start": { 1142 "line": 31, 1143 "column": 32, 1144 "program": "test-class-definition.ts" 1145 }, 1146 "end": { 1147 "line": 31, 1148 "column": 35, 1149 "program": "test-class-definition.ts" 1150 } 1151 } 1152 }, 1153 "loc": { 1154 "start": { 1155 "line": 31, 1156 "column": 20, 1157 "program": "test-class-definition.ts" 1158 }, 1159 "end": { 1160 "line": 31, 1161 "column": 35, 1162 "program": "test-class-definition.ts" 1163 } 1164 } 1165 }, 1166 "loc": { 1167 "start": { 1168 "line": 31, 1169 "column": 20, 1170 "program": "test-class-definition.ts" 1171 }, 1172 "end": { 1173 "line": 31, 1174 "column": 35, 1175 "program": "test-class-definition.ts" 1176 } 1177 } 1178 }, 1179 "overloads": [], 1180 "decorators": [], 1181 "loc": { 1182 "start": { 1183 "line": 31, 1184 "column": 5, 1185 "program": "test-class-definition.ts" 1186 }, 1187 "end": { 1188 "line": 31, 1189 "column": 35, 1190 "program": "test-class-definition.ts" 1191 } 1192 } 1193 } 1194 ], 1195 "loc": { 1196 "start": { 1197 "line": 17, 1198 "column": 11, 1199 "program": "test-class-definition.ts" 1200 }, 1201 "end": { 1202 "line": 34, 1203 "column": 6, 1204 "program": "test-class-definition.ts" 1205 } 1206 } 1207 }, 1208 "loc": { 1209 "start": { 1210 "line": 17, 1211 "column": 1, 1212 "program": "test-class-definition.ts" 1213 }, 1214 "end": { 1215 "line": 34, 1216 "column": 6, 1217 "program": "test-class-definition.ts" 1218 } 1219 } 1220 }, 1221 { 1222 "type": "ClassDeclaration", 1223 "definition": { 1224 "id": { 1225 "type": "Identifier", 1226 "name": "Bar", 1227 "decorators": [], 1228 "loc": { 1229 "start": { 1230 "line": 34, 1231 "column": 7, 1232 "program": "test-class-definition.ts" 1233 }, 1234 "end": { 1235 "line": 34, 1236 "column": 10, 1237 "program": "test-class-definition.ts" 1238 } 1239 } 1240 }, 1241 "superClass": null, 1242 "implements": [], 1243 "constructor": { 1244 "type": "MethodDefinition", 1245 "key": { 1246 "type": "Identifier", 1247 "name": "constructor", 1248 "decorators": [], 1249 "loc": { 1250 "start": { 1251 "line": 34, 1252 "column": 12, 1253 "program": "test-class-definition.ts" 1254 }, 1255 "end": { 1256 "line": 34, 1257 "column": 12, 1258 "program": "test-class-definition.ts" 1259 } 1260 } 1261 }, 1262 "kind": "constructor", 1263 "static": false, 1264 "optional": false, 1265 "computed": false, 1266 "value": { 1267 "type": "FunctionExpression", 1268 "function": { 1269 "type": "ScriptFunction", 1270 "id": null, 1271 "generator": false, 1272 "async": false, 1273 "expression": false, 1274 "params": [], 1275 "body": { 1276 "type": "BlockStatement", 1277 "statements": [], 1278 "loc": { 1279 "start": { 1280 "line": 34, 1281 "column": 12, 1282 "program": "test-class-definition.ts" 1283 }, 1284 "end": { 1285 "line": 34, 1286 "column": 12, 1287 "program": "test-class-definition.ts" 1288 } 1289 } 1290 }, 1291 "loc": { 1292 "start": { 1293 "line": 34, 1294 "column": 12, 1295 "program": "test-class-definition.ts" 1296 }, 1297 "end": { 1298 "line": 34, 1299 "column": 12, 1300 "program": "test-class-definition.ts" 1301 } 1302 } 1303 }, 1304 "loc": { 1305 "start": { 1306 "line": 34, 1307 "column": 12, 1308 "program": "test-class-definition.ts" 1309 }, 1310 "end": { 1311 "line": 34, 1312 "column": 12, 1313 "program": "test-class-definition.ts" 1314 } 1315 } 1316 }, 1317 "overloads": [], 1318 "decorators": [], 1319 "loc": { 1320 "start": { 1321 "line": 1, 1322 "column": 1, 1323 "program": null 1324 }, 1325 "end": { 1326 "line": 1, 1327 "column": 1, 1328 "program": null 1329 } 1330 } 1331 }, 1332 "body": [ 1333 { 1334 "type": "ClassProperty", 1335 "key": { 1336 "type": "Identifier", 1337 "name": "c", 1338 "decorators": [], 1339 "loc": { 1340 "start": { 1341 "line": 34, 1342 "column": 13, 1343 "program": "test-class-definition.ts" 1344 }, 1345 "end": { 1346 "line": 34, 1347 "column": 14, 1348 "program": "test-class-definition.ts" 1349 } 1350 } 1351 }, 1352 "static": false, 1353 "readonly": false, 1354 "declare": false, 1355 "optional": false, 1356 "computed": false, 1357 "definite": false, 1358 "decorators": [], 1359 "loc": { 1360 "start": { 1361 "line": 34, 1362 "column": 13, 1363 "program": "test-class-definition.ts" 1364 }, 1365 "end": { 1366 "line": 34, 1367 "column": 14, 1368 "program": "test-class-definition.ts" 1369 } 1370 } 1371 }, 1372 { 1373 "type": "MethodDefinition", 1374 "key": { 1375 "type": "Identifier", 1376 "name": "d", 1377 "decorators": [], 1378 "loc": { 1379 "start": { 1380 "line": 34, 1381 "column": 16, 1382 "program": "test-class-definition.ts" 1383 }, 1384 "end": { 1385 "line": 34, 1386 "column": 17, 1387 "program": "test-class-definition.ts" 1388 } 1389 } 1390 }, 1391 "kind": "method", 1392 "static": false, 1393 "optional": false, 1394 "computed": false, 1395 "value": { 1396 "type": "FunctionExpression", 1397 "function": { 1398 "type": "ScriptFunction", 1399 "id": null, 1400 "generator": false, 1401 "async": false, 1402 "expression": false, 1403 "params": [], 1404 "body": { 1405 "type": "BlockStatement", 1406 "statements": [], 1407 "loc": { 1408 "start": { 1409 "line": 34, 1410 "column": 20, 1411 "program": "test-class-definition.ts" 1412 }, 1413 "end": { 1414 "line": 34, 1415 "column": 23, 1416 "program": "test-class-definition.ts" 1417 } 1418 } 1419 }, 1420 "loc": { 1421 "start": { 1422 "line": 34, 1423 "column": 17, 1424 "program": "test-class-definition.ts" 1425 }, 1426 "end": { 1427 "line": 34, 1428 "column": 23, 1429 "program": "test-class-definition.ts" 1430 } 1431 } 1432 }, 1433 "loc": { 1434 "start": { 1435 "line": 34, 1436 "column": 17, 1437 "program": "test-class-definition.ts" 1438 }, 1439 "end": { 1440 "line": 34, 1441 "column": 23, 1442 "program": "test-class-definition.ts" 1443 } 1444 } 1445 }, 1446 "overloads": [], 1447 "decorators": [], 1448 "loc": { 1449 "start": { 1450 "line": 34, 1451 "column": 16, 1452 "program": "test-class-definition.ts" 1453 }, 1454 "end": { 1455 "line": 34, 1456 "column": 23, 1457 "program": "test-class-definition.ts" 1458 } 1459 } 1460 }, 1461 { 1462 "type": "ClassProperty", 1463 "key": { 1464 "type": "Identifier", 1465 "name": "e", 1466 "decorators": [], 1467 "loc": { 1468 "start": { 1469 "line": 34, 1470 "column": 24, 1471 "program": "test-class-definition.ts" 1472 }, 1473 "end": { 1474 "line": 34, 1475 "column": 25, 1476 "program": "test-class-definition.ts" 1477 } 1478 } 1479 }, 1480 "static": false, 1481 "readonly": false, 1482 "declare": false, 1483 "optional": false, 1484 "computed": false, 1485 "definite": false, 1486 "decorators": [], 1487 "loc": { 1488 "start": { 1489 "line": 34, 1490 "column": 24, 1491 "program": "test-class-definition.ts" 1492 }, 1493 "end": { 1494 "line": 34, 1495 "column": 25, 1496 "program": "test-class-definition.ts" 1497 } 1498 } 1499 }, 1500 { 1501 "type": "ClassProperty", 1502 "key": { 1503 "type": "Identifier", 1504 "name": "let", 1505 "decorators": [], 1506 "loc": { 1507 "start": { 1508 "line": 34, 1509 "column": 27, 1510 "program": "test-class-definition.ts" 1511 }, 1512 "end": { 1513 "line": 34, 1514 "column": 30, 1515 "program": "test-class-definition.ts" 1516 } 1517 } 1518 }, 1519 "static": false, 1520 "readonly": false, 1521 "declare": false, 1522 "optional": false, 1523 "computed": false, 1524 "definite": false, 1525 "decorators": [], 1526 "loc": { 1527 "start": { 1528 "line": 34, 1529 "column": 27, 1530 "program": "test-class-definition.ts" 1531 }, 1532 "end": { 1533 "line": 34, 1534 "column": 30, 1535 "program": "test-class-definition.ts" 1536 } 1537 } 1538 }, 1539 { 1540 "type": "ClassProperty", 1541 "key": { 1542 "type": "Identifier", 1543 "name": "var", 1544 "decorators": [], 1545 "loc": { 1546 "start": { 1547 "line": 34, 1548 "column": 32, 1549 "program": "test-class-definition.ts" 1550 }, 1551 "end": { 1552 "line": 34, 1553 "column": 35, 1554 "program": "test-class-definition.ts" 1555 } 1556 } 1557 }, 1558 "static": false, 1559 "readonly": false, 1560 "declare": false, 1561 "optional": false, 1562 "computed": false, 1563 "definite": false, 1564 "decorators": [], 1565 "loc": { 1566 "start": { 1567 "line": 34, 1568 "column": 32, 1569 "program": "test-class-definition.ts" 1570 }, 1571 "end": { 1572 "line": 34, 1573 "column": 35, 1574 "program": "test-class-definition.ts" 1575 } 1576 } 1577 }, 1578 { 1579 "type": "ClassProperty", 1580 "key": { 1581 "type": "Identifier", 1582 "name": "const", 1583 "decorators": [], 1584 "loc": { 1585 "start": { 1586 "line": 34, 1587 "column": 37, 1588 "program": "test-class-definition.ts" 1589 }, 1590 "end": { 1591 "line": 34, 1592 "column": 42, 1593 "program": "test-class-definition.ts" 1594 } 1595 } 1596 }, 1597 "static": false, 1598 "readonly": false, 1599 "declare": false, 1600 "optional": false, 1601 "computed": false, 1602 "definite": false, 1603 "decorators": [], 1604 "loc": { 1605 "start": { 1606 "line": 34, 1607 "column": 37, 1608 "program": "test-class-definition.ts" 1609 }, 1610 "end": { 1611 "line": 34, 1612 "column": 42, 1613 "program": "test-class-definition.ts" 1614 } 1615 } 1616 }, 1617 { 1618 "type": "ClassProperty", 1619 "key": { 1620 "type": "Identifier", 1621 "name": "function", 1622 "decorators": [], 1623 "loc": { 1624 "start": { 1625 "line": 34, 1626 "column": 44, 1627 "program": "test-class-definition.ts" 1628 }, 1629 "end": { 1630 "line": 34, 1631 "column": 52, 1632 "program": "test-class-definition.ts" 1633 } 1634 } 1635 }, 1636 "static": false, 1637 "readonly": false, 1638 "declare": false, 1639 "optional": false, 1640 "computed": false, 1641 "definite": false, 1642 "decorators": [], 1643 "loc": { 1644 "start": { 1645 "line": 34, 1646 "column": 44, 1647 "program": "test-class-definition.ts" 1648 }, 1649 "end": { 1650 "line": 34, 1651 "column": 52, 1652 "program": "test-class-definition.ts" 1653 } 1654 } 1655 }, 1656 { 1657 "type": "ClassProperty", 1658 "key": { 1659 "type": "Identifier", 1660 "name": "f", 1661 "decorators": [], 1662 "loc": { 1663 "start": { 1664 "line": 34, 1665 "column": 54, 1666 "program": "test-class-definition.ts" 1667 }, 1668 "end": { 1669 "line": 34, 1670 "column": 55, 1671 "program": "test-class-definition.ts" 1672 } 1673 } 1674 }, 1675 "static": false, 1676 "readonly": false, 1677 "declare": false, 1678 "optional": false, 1679 "computed": false, 1680 "typeAnnotation": { 1681 "type": "TSNumberKeyword", 1682 "loc": { 1683 "start": { 1684 "line": 34, 1685 "column": 58, 1686 "program": "test-class-definition.ts" 1687 }, 1688 "end": { 1689 "line": 34, 1690 "column": 64, 1691 "program": "test-class-definition.ts" 1692 } 1693 } 1694 }, 1695 "definite": true, 1696 "decorators": [], 1697 "loc": { 1698 "start": { 1699 "line": 34, 1700 "column": 54, 1701 "program": "test-class-definition.ts" 1702 }, 1703 "end": { 1704 "line": 34, 1705 "column": 55, 1706 "program": "test-class-definition.ts" 1707 } 1708 } 1709 } 1710 ], 1711 "loc": { 1712 "start": { 1713 "line": 34, 1714 "column": 11, 1715 "program": "test-class-definition.ts" 1716 }, 1717 "end": { 1718 "line": 36, 1719 "column": 6, 1720 "program": "test-class-definition.ts" 1721 } 1722 } 1723 }, 1724 "loc": { 1725 "start": { 1726 "line": 34, 1727 "column": 1, 1728 "program": "test-class-definition.ts" 1729 }, 1730 "end": { 1731 "line": 36, 1732 "column": 6, 1733 "program": "test-class-definition.ts" 1734 } 1735 } 1736 }, 1737 { 1738 "type": "ClassDeclaration", 1739 "definition": { 1740 "id": { 1741 "type": "Identifier", 1742 "name": "Baz", 1743 "decorators": [], 1744 "loc": { 1745 "start": { 1746 "line": 36, 1747 "column": 7, 1748 "program": "test-class-definition.ts" 1749 }, 1750 "end": { 1751 "line": 36, 1752 "column": 10, 1753 "program": "test-class-definition.ts" 1754 } 1755 } 1756 }, 1757 "superClass": null, 1758 "implements": [], 1759 "constructor": { 1760 "type": "MethodDefinition", 1761 "key": { 1762 "type": "Identifier", 1763 "name": "constructor", 1764 "decorators": [], 1765 "loc": { 1766 "start": { 1767 "line": 38, 1768 "column": 5, 1769 "program": "test-class-definition.ts" 1770 }, 1771 "end": { 1772 "line": 38, 1773 "column": 16, 1774 "program": "test-class-definition.ts" 1775 } 1776 } 1777 }, 1778 "kind": "constructor", 1779 "static": false, 1780 "optional": false, 1781 "computed": false, 1782 "value": { 1783 "type": "FunctionExpression", 1784 "function": { 1785 "type": "ScriptFunction", 1786 "id": null, 1787 "generator": false, 1788 "async": false, 1789 "expression": false, 1790 "params": [ 1791 { 1792 "type": "Identifier", 1793 "name": "name", 1794 "typeAnnotation": { 1795 "type": "TSStringKeyword", 1796 "loc": { 1797 "start": { 1798 "line": 38, 1799 "column": 23, 1800 "program": "test-class-definition.ts" 1801 }, 1802 "end": { 1803 "line": 38, 1804 "column": 29, 1805 "program": "test-class-definition.ts" 1806 } 1807 } 1808 }, 1809 "decorators": [], 1810 "loc": { 1811 "start": { 1812 "line": 38, 1813 "column": 17, 1814 "program": "test-class-definition.ts" 1815 }, 1816 "end": { 1817 "line": 38, 1818 "column": 21, 1819 "program": "test-class-definition.ts" 1820 } 1821 } 1822 } 1823 ], 1824 "body": { 1825 "type": "BlockStatement", 1826 "statements": [ 1827 { 1828 "type": "ExpressionStatement", 1829 "expression": { 1830 "type": "AssignmentExpression", 1831 "operator": "=", 1832 "left": { 1833 "type": "MemberExpression", 1834 "object": { 1835 "type": "ThisExpression", 1836 "loc": { 1837 "start": { 1838 "line": 39, 1839 "column": 9, 1840 "program": "test-class-definition.ts" 1841 }, 1842 "end": { 1843 "line": 39, 1844 "column": 13, 1845 "program": "test-class-definition.ts" 1846 } 1847 } 1848 }, 1849 "property": { 1850 "type": "PrivateIdentifier", 1851 "name": "name", 1852 "decorators": [], 1853 "loc": { 1854 "start": { 1855 "line": 39, 1856 "column": 14, 1857 "program": "test-class-definition.ts" 1858 }, 1859 "end": { 1860 "line": 39, 1861 "column": 19, 1862 "program": "test-class-definition.ts" 1863 } 1864 } 1865 }, 1866 "computed": false, 1867 "optional": false, 1868 "loc": { 1869 "start": { 1870 "line": 39, 1871 "column": 9, 1872 "program": "test-class-definition.ts" 1873 }, 1874 "end": { 1875 "line": 39, 1876 "column": 19, 1877 "program": "test-class-definition.ts" 1878 } 1879 } 1880 }, 1881 "right": { 1882 "type": "Identifier", 1883 "name": "name", 1884 "decorators": [], 1885 "loc": { 1886 "start": { 1887 "line": 39, 1888 "column": 22, 1889 "program": "test-class-definition.ts" 1890 }, 1891 "end": { 1892 "line": 39, 1893 "column": 26, 1894 "program": "test-class-definition.ts" 1895 } 1896 } 1897 }, 1898 "loc": { 1899 "start": { 1900 "line": 39, 1901 "column": 9, 1902 "program": "test-class-definition.ts" 1903 }, 1904 "end": { 1905 "line": 39, 1906 "column": 26, 1907 "program": "test-class-definition.ts" 1908 } 1909 } 1910 }, 1911 "loc": { 1912 "start": { 1913 "line": 39, 1914 "column": 9, 1915 "program": "test-class-definition.ts" 1916 }, 1917 "end": { 1918 "line": 39, 1919 "column": 27, 1920 "program": "test-class-definition.ts" 1921 } 1922 } 1923 } 1924 ], 1925 "loc": { 1926 "start": { 1927 "line": 38, 1928 "column": 31, 1929 "program": "test-class-definition.ts" 1930 }, 1931 "end": { 1932 "line": 40, 1933 "column": 6, 1934 "program": "test-class-definition.ts" 1935 } 1936 } 1937 }, 1938 "loc": { 1939 "start": { 1940 "line": 38, 1941 "column": 16, 1942 "program": "test-class-definition.ts" 1943 }, 1944 "end": { 1945 "line": 40, 1946 "column": 6, 1947 "program": "test-class-definition.ts" 1948 } 1949 } 1950 }, 1951 "loc": { 1952 "start": { 1953 "line": 38, 1954 "column": 16, 1955 "program": "test-class-definition.ts" 1956 }, 1957 "end": { 1958 "line": 40, 1959 "column": 6, 1960 "program": "test-class-definition.ts" 1961 } 1962 } 1963 }, 1964 "overloads": [], 1965 "decorators": [], 1966 "loc": { 1967 "start": { 1968 "line": 38, 1969 "column": 5, 1970 "program": "test-class-definition.ts" 1971 }, 1972 "end": { 1973 "line": 40, 1974 "column": 6, 1975 "program": "test-class-definition.ts" 1976 } 1977 } 1978 }, 1979 "body": [ 1980 { 1981 "type": "ClassProperty", 1982 "key": { 1983 "type": "PrivateIdentifier", 1984 "name": "name", 1985 "decorators": [], 1986 "loc": { 1987 "start": { 1988 "line": 37, 1989 "column": 6, 1990 "program": "test-class-definition.ts" 1991 }, 1992 "end": { 1993 "line": 37, 1994 "column": 10, 1995 "program": "test-class-definition.ts" 1996 } 1997 } 1998 }, 1999 "static": false, 2000 "readonly": false, 2001 "declare": false, 2002 "optional": false, 2003 "computed": false, 2004 "typeAnnotation": { 2005 "type": "TSStringKeyword", 2006 "loc": { 2007 "start": { 2008 "line": 37, 2009 "column": 12, 2010 "program": "test-class-definition.ts" 2011 }, 2012 "end": { 2013 "line": 37, 2014 "column": 18, 2015 "program": "test-class-definition.ts" 2016 } 2017 } 2018 }, 2019 "definite": false, 2020 "decorators": [], 2021 "loc": { 2022 "start": { 2023 "line": 37, 2024 "column": 5, 2025 "program": "test-class-definition.ts" 2026 }, 2027 "end": { 2028 "line": 37, 2029 "column": 10, 2030 "program": "test-class-definition.ts" 2031 } 2032 } 2033 }, 2034 { 2035 "type": "MethodDefinition", 2036 "key": { 2037 "type": "Identifier", 2038 "name": "bar", 2039 "decorators": [], 2040 "loc": { 2041 "start": { 2042 "line": 41, 2043 "column": 5, 2044 "program": "test-class-definition.ts" 2045 }, 2046 "end": { 2047 "line": 41, 2048 "column": 8, 2049 "program": "test-class-definition.ts" 2050 } 2051 } 2052 }, 2053 "kind": "method", 2054 "static": false, 2055 "optional": false, 2056 "computed": false, 2057 "value": { 2058 "type": "FunctionExpression", 2059 "function": { 2060 "type": "ScriptFunction", 2061 "id": null, 2062 "generator": false, 2063 "async": false, 2064 "expression": false, 2065 "params": [], 2066 "body": { 2067 "type": "BlockStatement", 2068 "statements": [ 2069 { 2070 "type": "ReturnStatement", 2071 "argument": { 2072 "type": "MemberExpression", 2073 "object": { 2074 "type": "ThisExpression", 2075 "loc": { 2076 "start": { 2077 "line": 41, 2078 "column": 20, 2079 "program": "test-class-definition.ts" 2080 }, 2081 "end": { 2082 "line": 41, 2083 "column": 24, 2084 "program": "test-class-definition.ts" 2085 } 2086 } 2087 }, 2088 "property": { 2089 "type": "PrivateIdentifier", 2090 "name": "name", 2091 "decorators": [], 2092 "loc": { 2093 "start": { 2094 "line": 41, 2095 "column": 25, 2096 "program": "test-class-definition.ts" 2097 }, 2098 "end": { 2099 "line": 41, 2100 "column": 30, 2101 "program": "test-class-definition.ts" 2102 } 2103 } 2104 }, 2105 "computed": false, 2106 "optional": false, 2107 "loc": { 2108 "start": { 2109 "line": 41, 2110 "column": 20, 2111 "program": "test-class-definition.ts" 2112 }, 2113 "end": { 2114 "line": 41, 2115 "column": 30, 2116 "program": "test-class-definition.ts" 2117 } 2118 } 2119 }, 2120 "loc": { 2121 "start": { 2122 "line": 41, 2123 "column": 13, 2124 "program": "test-class-definition.ts" 2125 }, 2126 "end": { 2127 "line": 41, 2128 "column": 30, 2129 "program": "test-class-definition.ts" 2130 } 2131 } 2132 } 2133 ], 2134 "loc": { 2135 "start": { 2136 "line": 41, 2137 "column": 11, 2138 "program": "test-class-definition.ts" 2139 }, 2140 "end": { 2141 "line": 41, 2142 "column": 32, 2143 "program": "test-class-definition.ts" 2144 } 2145 } 2146 }, 2147 "loc": { 2148 "start": { 2149 "line": 41, 2150 "column": 8, 2151 "program": "test-class-definition.ts" 2152 }, 2153 "end": { 2154 "line": 41, 2155 "column": 32, 2156 "program": "test-class-definition.ts" 2157 } 2158 } 2159 }, 2160 "loc": { 2161 "start": { 2162 "line": 41, 2163 "column": 8, 2164 "program": "test-class-definition.ts" 2165 }, 2166 "end": { 2167 "line": 41, 2168 "column": 32, 2169 "program": "test-class-definition.ts" 2170 } 2171 } 2172 }, 2173 "overloads": [], 2174 "decorators": [], 2175 "loc": { 2176 "start": { 2177 "line": 41, 2178 "column": 5, 2179 "program": "test-class-definition.ts" 2180 }, 2181 "end": { 2182 "line": 41, 2183 "column": 32, 2184 "program": "test-class-definition.ts" 2185 } 2186 } 2187 } 2188 ], 2189 "loc": { 2190 "start": { 2191 "line": 36, 2192 "column": 11, 2193 "program": "test-class-definition.ts" 2194 }, 2195 "end": { 2196 "line": 44, 2197 "column": 9, 2198 "program": "test-class-definition.ts" 2199 } 2200 } 2201 }, 2202 "loc": { 2203 "start": { 2204 "line": 36, 2205 "column": 1, 2206 "program": "test-class-definition.ts" 2207 }, 2208 "end": { 2209 "line": 44, 2210 "column": 9, 2211 "program": "test-class-definition.ts" 2212 } 2213 } 2214 }, 2215 { 2216 "type": "ClassDeclaration", 2217 "definition": { 2218 "id": { 2219 "type": "Identifier", 2220 "name": "Inga", 2221 "decorators": [], 2222 "loc": { 2223 "start": { 2224 "line": 44, 2225 "column": 16, 2226 "program": "test-class-definition.ts" 2227 }, 2228 "end": { 2229 "line": 44, 2230 "column": 20, 2231 "program": "test-class-definition.ts" 2232 } 2233 } 2234 }, 2235 "superClass": null, 2236 "implements": [], 2237 "constructor": { 2238 "type": "MethodDefinition", 2239 "key": { 2240 "type": "Identifier", 2241 "name": "constructor", 2242 "decorators": [], 2243 "loc": { 2244 "start": { 2245 "line": 44, 2246 "column": 22, 2247 "program": "test-class-definition.ts" 2248 }, 2249 "end": { 2250 "line": 44, 2251 "column": 22, 2252 "program": "test-class-definition.ts" 2253 } 2254 } 2255 }, 2256 "kind": "constructor", 2257 "static": false, 2258 "optional": false, 2259 "computed": false, 2260 "value": { 2261 "type": "FunctionExpression", 2262 "function": { 2263 "type": "ScriptFunction", 2264 "id": null, 2265 "generator": false, 2266 "async": false, 2267 "expression": false, 2268 "params": [], 2269 "body": { 2270 "type": "BlockStatement", 2271 "statements": [], 2272 "loc": { 2273 "start": { 2274 "line": 44, 2275 "column": 22, 2276 "program": "test-class-definition.ts" 2277 }, 2278 "end": { 2279 "line": 44, 2280 "column": 22, 2281 "program": "test-class-definition.ts" 2282 } 2283 } 2284 }, 2285 "loc": { 2286 "start": { 2287 "line": 44, 2288 "column": 22, 2289 "program": "test-class-definition.ts" 2290 }, 2291 "end": { 2292 "line": 44, 2293 "column": 22, 2294 "program": "test-class-definition.ts" 2295 } 2296 } 2297 }, 2298 "loc": { 2299 "start": { 2300 "line": 44, 2301 "column": 22, 2302 "program": "test-class-definition.ts" 2303 }, 2304 "end": { 2305 "line": 44, 2306 "column": 22, 2307 "program": "test-class-definition.ts" 2308 } 2309 } 2310 }, 2311 "overloads": [], 2312 "decorators": [], 2313 "loc": { 2314 "start": { 2315 "line": 1, 2316 "column": 1, 2317 "program": null 2318 }, 2319 "end": { 2320 "line": 1, 2321 "column": 1, 2322 "program": null 2323 } 2324 } 2325 }, 2326 "body": [ 2327 { 2328 "type": "MethodDefinition", 2329 "key": { 2330 "type": "Identifier", 2331 "name": "a", 2332 "decorators": [], 2333 "loc": { 2334 "start": { 2335 "line": 45, 2336 "column": 14, 2337 "program": "test-class-definition.ts" 2338 }, 2339 "end": { 2340 "line": 45, 2341 "column": 15, 2342 "program": "test-class-definition.ts" 2343 } 2344 } 2345 }, 2346 "kind": "method", 2347 "static": false, 2348 "optional": false, 2349 "computed": false, 2350 "value": { 2351 "type": "FunctionExpression", 2352 "function": { 2353 "type": "ScriptFunction", 2354 "id": null, 2355 "generator": false, 2356 "async": false, 2357 "expression": false, 2358 "params": [], 2359 "loc": { 2360 "start": { 2361 "line": 45, 2362 "column": 15, 2363 "program": "test-class-definition.ts" 2364 }, 2365 "end": { 2366 "line": 45, 2367 "column": 18, 2368 "program": "test-class-definition.ts" 2369 } 2370 } 2371 }, 2372 "loc": { 2373 "start": { 2374 "line": 45, 2375 "column": 15, 2376 "program": "test-class-definition.ts" 2377 }, 2378 "end": { 2379 "line": 45, 2380 "column": 18, 2381 "program": "test-class-definition.ts" 2382 } 2383 } 2384 }, 2385 "overloads": [], 2386 "decorators": [], 2387 "loc": { 2388 "start": { 2389 "line": 45, 2390 "column": 5, 2391 "program": "test-class-definition.ts" 2392 }, 2393 "end": { 2394 "line": 45, 2395 "column": 18, 2396 "program": "test-class-definition.ts" 2397 } 2398 } 2399 }, 2400 { 2401 "type": "MethodDefinition", 2402 "key": { 2403 "type": "Identifier", 2404 "name": "aa", 2405 "decorators": [], 2406 "loc": { 2407 "start": { 2408 "line": 46, 2409 "column": 5, 2410 "program": "test-class-definition.ts" 2411 }, 2412 "end": { 2413 "line": 46, 2414 "column": 7, 2415 "program": "test-class-definition.ts" 2416 } 2417 } 2418 }, 2419 "kind": "method", 2420 "static": false, 2421 "optional": false, 2422 "computed": false, 2423 "value": { 2424 "type": "FunctionExpression", 2425 "function": { 2426 "type": "ScriptFunction", 2427 "id": null, 2428 "generator": false, 2429 "async": false, 2430 "expression": false, 2431 "params": [], 2432 "body": { 2433 "type": "BlockStatement", 2434 "statements": [], 2435 "loc": { 2436 "start": { 2437 "line": 46, 2438 "column": 10, 2439 "program": "test-class-definition.ts" 2440 }, 2441 "end": { 2442 "line": 46, 2443 "column": 13, 2444 "program": "test-class-definition.ts" 2445 } 2446 } 2447 }, 2448 "loc": { 2449 "start": { 2450 "line": 46, 2451 "column": 7, 2452 "program": "test-class-definition.ts" 2453 }, 2454 "end": { 2455 "line": 46, 2456 "column": 13, 2457 "program": "test-class-definition.ts" 2458 } 2459 } 2460 }, 2461 "loc": { 2462 "start": { 2463 "line": 46, 2464 "column": 7, 2465 "program": "test-class-definition.ts" 2466 }, 2467 "end": { 2468 "line": 46, 2469 "column": 13, 2470 "program": "test-class-definition.ts" 2471 } 2472 } 2473 }, 2474 "overloads": [], 2475 "decorators": [], 2476 "loc": { 2477 "start": { 2478 "line": 46, 2479 "column": 5, 2480 "program": "test-class-definition.ts" 2481 }, 2482 "end": { 2483 "line": 46, 2484 "column": 13, 2485 "program": "test-class-definition.ts" 2486 } 2487 } 2488 } 2489 ], 2490 "loc": { 2491 "start": { 2492 "line": 44, 2493 "column": 21, 2494 "program": "test-class-definition.ts" 2495 }, 2496 "end": { 2497 "line": 48, 2498 "column": 1, 2499 "program": "test-class-definition.ts" 2500 } 2501 } 2502 }, 2503 "loc": { 2504 "start": { 2505 "line": 44, 2506 "column": 10, 2507 "program": "test-class-definition.ts" 2508 }, 2509 "end": { 2510 "line": 48, 2511 "column": 1, 2512 "program": "test-class-definition.ts" 2513 } 2514 } 2515 } 2516 ], 2517 "loc": { 2518 "start": { 2519 "line": 1, 2520 "column": 1, 2521 "program": "test-class-definition.ts" 2522 }, 2523 "end": { 2524 "line": 48, 2525 "column": 1, 2526 "program": "test-class-definition.ts" 2527 } 2528 } 2529} 2530