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