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