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