1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSInterfaceDeclaration", 6 "body": { 7 "type": "TSInterfaceBody", 8 "body": [ 9 { 10 "type": "TSPropertySignature", 11 "computed": false, 12 "optional": false, 13 "readonly": false, 14 "key": { 15 "type": "Identifier", 16 "name": "a", 17 "decorators": [], 18 "loc": { 19 "start": { 20 "line": 18, 21 "column": 5, 22 "program": "interfaceAssignment.ts" 23 }, 24 "end": { 25 "line": 18, 26 "column": 6, 27 "program": "interfaceAssignment.ts" 28 } 29 } 30 }, 31 "typeAnnotation": { 32 "type": "TSNumberKeyword", 33 "loc": { 34 "start": { 35 "line": 18, 36 "column": 8, 37 "program": "interfaceAssignment.ts" 38 }, 39 "end": { 40 "line": 18, 41 "column": 14, 42 "program": "interfaceAssignment.ts" 43 } 44 } 45 }, 46 "loc": { 47 "start": { 48 "line": 18, 49 "column": 5, 50 "program": "interfaceAssignment.ts" 51 }, 52 "end": { 53 "line": 18, 54 "column": 15, 55 "program": "interfaceAssignment.ts" 56 } 57 } 58 }, 59 { 60 "type": "TSPropertySignature", 61 "computed": false, 62 "optional": false, 63 "readonly": false, 64 "key": { 65 "type": "Identifier", 66 "name": "b", 67 "decorators": [], 68 "loc": { 69 "start": { 70 "line": 19, 71 "column": 5, 72 "program": "interfaceAssignment.ts" 73 }, 74 "end": { 75 "line": 19, 76 "column": 6, 77 "program": "interfaceAssignment.ts" 78 } 79 } 80 }, 81 "typeAnnotation": { 82 "type": "TSStringKeyword", 83 "loc": { 84 "start": { 85 "line": 19, 86 "column": 8, 87 "program": "interfaceAssignment.ts" 88 }, 89 "end": { 90 "line": 19, 91 "column": 14, 92 "program": "interfaceAssignment.ts" 93 } 94 } 95 }, 96 "loc": { 97 "start": { 98 "line": 19, 99 "column": 5, 100 "program": "interfaceAssignment.ts" 101 }, 102 "end": { 103 "line": 19, 104 "column": 15, 105 "program": "interfaceAssignment.ts" 106 } 107 } 108 }, 109 { 110 "type": "TSPropertySignature", 111 "computed": false, 112 "optional": false, 113 "readonly": false, 114 "key": { 115 "type": "Identifier", 116 "name": "c", 117 "decorators": [], 118 "loc": { 119 "start": { 120 "line": 20, 121 "column": 5, 122 "program": "interfaceAssignment.ts" 123 }, 124 "end": { 125 "line": 20, 126 "column": 6, 127 "program": "interfaceAssignment.ts" 128 } 129 } 130 }, 131 "typeAnnotation": { 132 "type": "TSBooleanKeyword", 133 "loc": { 134 "start": { 135 "line": 20, 136 "column": 8, 137 "program": "interfaceAssignment.ts" 138 }, 139 "end": { 140 "line": 20, 141 "column": 15, 142 "program": "interfaceAssignment.ts" 143 } 144 } 145 }, 146 "loc": { 147 "start": { 148 "line": 20, 149 "column": 5, 150 "program": "interfaceAssignment.ts" 151 }, 152 "end": { 153 "line": 20, 154 "column": 16, 155 "program": "interfaceAssignment.ts" 156 } 157 } 158 } 159 ], 160 "loc": { 161 "start": { 162 "line": 17, 163 "column": 13, 164 "program": "interfaceAssignment.ts" 165 }, 166 "end": { 167 "line": 21, 168 "column": 2, 169 "program": "interfaceAssignment.ts" 170 } 171 } 172 }, 173 "id": { 174 "type": "Identifier", 175 "name": "A", 176 "decorators": [], 177 "loc": { 178 "start": { 179 "line": 17, 180 "column": 11, 181 "program": "interfaceAssignment.ts" 182 }, 183 "end": { 184 "line": 17, 185 "column": 12, 186 "program": "interfaceAssignment.ts" 187 } 188 } 189 }, 190 "extends": [], 191 "loc": { 192 "start": { 193 "line": 17, 194 "column": 1, 195 "program": "interfaceAssignment.ts" 196 }, 197 "end": { 198 "line": 21, 199 "column": 2, 200 "program": "interfaceAssignment.ts" 201 } 202 } 203 }, 204 { 205 "type": "VariableDeclaration", 206 "declarations": [ 207 { 208 "type": "VariableDeclarator", 209 "id": { 210 "type": "Identifier", 211 "name": "a", 212 "typeAnnotation": { 213 "type": "TSTypeReference", 214 "typeName": { 215 "type": "Identifier", 216 "name": "A", 217 "decorators": [], 218 "loc": { 219 "start": { 220 "line": 23, 221 "column": 8, 222 "program": "interfaceAssignment.ts" 223 }, 224 "end": { 225 "line": 23, 226 "column": 9, 227 "program": "interfaceAssignment.ts" 228 } 229 } 230 }, 231 "loc": { 232 "start": { 233 "line": 23, 234 "column": 8, 235 "program": "interfaceAssignment.ts" 236 }, 237 "end": { 238 "line": 23, 239 "column": 9, 240 "program": "interfaceAssignment.ts" 241 } 242 } 243 }, 244 "decorators": [], 245 "loc": { 246 "start": { 247 "line": 23, 248 "column": 5, 249 "program": "interfaceAssignment.ts" 250 }, 251 "end": { 252 "line": 23, 253 "column": 6, 254 "program": "interfaceAssignment.ts" 255 } 256 } 257 }, 258 "init": { 259 "type": "ObjectExpression", 260 "properties": [ 261 { 262 "type": "Property", 263 "method": false, 264 "shorthand": false, 265 "computed": false, 266 "key": { 267 "type": "Identifier", 268 "name": "a", 269 "decorators": [], 270 "loc": { 271 "start": { 272 "line": 23, 273 "column": 14, 274 "program": "interfaceAssignment.ts" 275 }, 276 "end": { 277 "line": 23, 278 "column": 15, 279 "program": "interfaceAssignment.ts" 280 } 281 } 282 }, 283 "value": { 284 "type": "NumberLiteral", 285 "value": 1, 286 "loc": { 287 "start": { 288 "line": 23, 289 "column": 17, 290 "program": "interfaceAssignment.ts" 291 }, 292 "end": { 293 "line": 23, 294 "column": 18, 295 "program": "interfaceAssignment.ts" 296 } 297 } 298 }, 299 "kind": "init", 300 "loc": { 301 "start": { 302 "line": 23, 303 "column": 14, 304 "program": "interfaceAssignment.ts" 305 }, 306 "end": { 307 "line": 23, 308 "column": 18, 309 "program": "interfaceAssignment.ts" 310 } 311 } 312 }, 313 { 314 "type": "Property", 315 "method": false, 316 "shorthand": false, 317 "computed": false, 318 "key": { 319 "type": "Identifier", 320 "name": "b", 321 "decorators": [], 322 "loc": { 323 "start": { 324 "line": 23, 325 "column": 20, 326 "program": "interfaceAssignment.ts" 327 }, 328 "end": { 329 "line": 23, 330 "column": 21, 331 "program": "interfaceAssignment.ts" 332 } 333 } 334 }, 335 "value": { 336 "type": "StringLiteral", 337 "value": "foo", 338 "loc": { 339 "start": { 340 "line": 23, 341 "column": 23, 342 "program": "interfaceAssignment.ts" 343 }, 344 "end": { 345 "line": 23, 346 "column": 28, 347 "program": "interfaceAssignment.ts" 348 } 349 } 350 }, 351 "kind": "init", 352 "loc": { 353 "start": { 354 "line": 23, 355 "column": 20, 356 "program": "interfaceAssignment.ts" 357 }, 358 "end": { 359 "line": 23, 360 "column": 28, 361 "program": "interfaceAssignment.ts" 362 } 363 } 364 }, 365 { 366 "type": "Property", 367 "method": false, 368 "shorthand": false, 369 "computed": false, 370 "key": { 371 "type": "Identifier", 372 "name": "c", 373 "decorators": [], 374 "loc": { 375 "start": { 376 "line": 23, 377 "column": 30, 378 "program": "interfaceAssignment.ts" 379 }, 380 "end": { 381 "line": 23, 382 "column": 31, 383 "program": "interfaceAssignment.ts" 384 } 385 } 386 }, 387 "value": { 388 "type": "BooleanLiteral", 389 "value": true, 390 "loc": { 391 "start": { 392 "line": 23, 393 "column": 33, 394 "program": "interfaceAssignment.ts" 395 }, 396 "end": { 397 "line": 23, 398 "column": 37, 399 "program": "interfaceAssignment.ts" 400 } 401 } 402 }, 403 "kind": "init", 404 "loc": { 405 "start": { 406 "line": 23, 407 "column": 30, 408 "program": "interfaceAssignment.ts" 409 }, 410 "end": { 411 "line": 23, 412 "column": 37, 413 "program": "interfaceAssignment.ts" 414 } 415 } 416 } 417 ], 418 "loc": { 419 "start": { 420 "line": 23, 421 "column": 12, 422 "program": "interfaceAssignment.ts" 423 }, 424 "end": { 425 "line": 23, 426 "column": 39, 427 "program": "interfaceAssignment.ts" 428 } 429 } 430 }, 431 "loc": { 432 "start": { 433 "line": 23, 434 "column": 5, 435 "program": "interfaceAssignment.ts" 436 }, 437 "end": { 438 "line": 23, 439 "column": 39, 440 "program": "interfaceAssignment.ts" 441 } 442 } 443 } 444 ], 445 "kind": "var", 446 "loc": { 447 "start": { 448 "line": 23, 449 "column": 1, 450 "program": "interfaceAssignment.ts" 451 }, 452 "end": { 453 "line": 23, 454 "column": 40, 455 "program": "interfaceAssignment.ts" 456 } 457 } 458 }, 459 { 460 "type": "TSInterfaceDeclaration", 461 "body": { 462 "type": "TSInterfaceBody", 463 "body": [ 464 { 465 "type": "TSMethodSignature", 466 "computed": false, 467 "optional": false, 468 "key": { 469 "type": "Identifier", 470 "name": "d", 471 "decorators": [], 472 "loc": { 473 "start": { 474 "line": 26, 475 "column": 5, 476 "program": "interfaceAssignment.ts" 477 }, 478 "end": { 479 "line": 26, 480 "column": 6, 481 "program": "interfaceAssignment.ts" 482 } 483 } 484 }, 485 "params": [ 486 { 487 "type": "Identifier", 488 "name": "a", 489 "typeAnnotation": { 490 "type": "TSNumberKeyword", 491 "loc": { 492 "start": { 493 "line": 26, 494 "column": 10, 495 "program": "interfaceAssignment.ts" 496 }, 497 "end": { 498 "line": 26, 499 "column": 16, 500 "program": "interfaceAssignment.ts" 501 } 502 } 503 }, 504 "decorators": [], 505 "loc": { 506 "start": { 507 "line": 26, 508 "column": 7, 509 "program": "interfaceAssignment.ts" 510 }, 511 "end": { 512 "line": 26, 513 "column": 8, 514 "program": "interfaceAssignment.ts" 515 } 516 } 517 }, 518 { 519 "type": "Identifier", 520 "name": "b", 521 "typeAnnotation": { 522 "type": "TSStringKeyword", 523 "loc": { 524 "start": { 525 "line": 26, 526 "column": 21, 527 "program": "interfaceAssignment.ts" 528 }, 529 "end": { 530 "line": 26, 531 "column": 27, 532 "program": "interfaceAssignment.ts" 533 } 534 } 535 }, 536 "decorators": [], 537 "loc": { 538 "start": { 539 "line": 26, 540 "column": 18, 541 "program": "interfaceAssignment.ts" 542 }, 543 "end": { 544 "line": 26, 545 "column": 19, 546 "program": "interfaceAssignment.ts" 547 } 548 } 549 } 550 ], 551 "typeAnnotation": { 552 "type": "TSArrayType", 553 "elementType": { 554 "type": "TSNumberKeyword", 555 "loc": { 556 "start": { 557 "line": 26, 558 "column": 30, 559 "program": "interfaceAssignment.ts" 560 }, 561 "end": { 562 "line": 26, 563 "column": 36, 564 "program": "interfaceAssignment.ts" 565 } 566 } 567 }, 568 "annotations": [], 569 "loc": { 570 "start": { 571 "line": 26, 572 "column": 30, 573 "program": "interfaceAssignment.ts" 574 }, 575 "end": { 576 "line": 26, 577 "column": 38, 578 "program": "interfaceAssignment.ts" 579 } 580 } 581 }, 582 "loc": { 583 "start": { 584 "line": 26, 585 "column": 5, 586 "program": "interfaceAssignment.ts" 587 }, 588 "end": { 589 "line": 26, 590 "column": 39, 591 "program": "interfaceAssignment.ts" 592 } 593 } 594 } 595 ], 596 "loc": { 597 "start": { 598 "line": 25, 599 "column": 23, 600 "program": "interfaceAssignment.ts" 601 }, 602 "end": { 603 "line": 27, 604 "column": 2, 605 "program": "interfaceAssignment.ts" 606 } 607 } 608 }, 609 "id": { 610 "type": "Identifier", 611 "name": "B", 612 "decorators": [], 613 "loc": { 614 "start": { 615 "line": 25, 616 "column": 11, 617 "program": "interfaceAssignment.ts" 618 }, 619 "end": { 620 "line": 25, 621 "column": 12, 622 "program": "interfaceAssignment.ts" 623 } 624 } 625 }, 626 "extends": [ 627 { 628 "type": "TSInterfaceHeritage", 629 "expression": { 630 "type": "TSTypeReference", 631 "typeName": { 632 "type": "Identifier", 633 "name": "A", 634 "decorators": [], 635 "loc": { 636 "start": { 637 "line": 25, 638 "column": 21, 639 "program": "interfaceAssignment.ts" 640 }, 641 "end": { 642 "line": 25, 643 "column": 22, 644 "program": "interfaceAssignment.ts" 645 } 646 } 647 }, 648 "loc": { 649 "start": { 650 "line": 25, 651 "column": 23, 652 "program": "interfaceAssignment.ts" 653 }, 654 "end": { 655 "line": 25, 656 "column": 22, 657 "program": "interfaceAssignment.ts" 658 } 659 } 660 }, 661 "loc": { 662 "start": { 663 "line": 25, 664 "column": 23, 665 "program": "interfaceAssignment.ts" 666 }, 667 "end": { 668 "line": 25, 669 "column": 22, 670 "program": "interfaceAssignment.ts" 671 } 672 } 673 } 674 ], 675 "loc": { 676 "start": { 677 "line": 25, 678 "column": 1, 679 "program": "interfaceAssignment.ts" 680 }, 681 "end": { 682 "line": 27, 683 "column": 2, 684 "program": "interfaceAssignment.ts" 685 } 686 } 687 }, 688 { 689 "type": "VariableDeclaration", 690 "declarations": [ 691 { 692 "type": "VariableDeclarator", 693 "id": { 694 "type": "Identifier", 695 "name": "b", 696 "typeAnnotation": { 697 "type": "TSTypeReference", 698 "typeName": { 699 "type": "Identifier", 700 "name": "B", 701 "decorators": [], 702 "loc": { 703 "start": { 704 "line": 29, 705 "column": 8, 706 "program": "interfaceAssignment.ts" 707 }, 708 "end": { 709 "line": 29, 710 "column": 9, 711 "program": "interfaceAssignment.ts" 712 } 713 } 714 }, 715 "loc": { 716 "start": { 717 "line": 29, 718 "column": 8, 719 "program": "interfaceAssignment.ts" 720 }, 721 "end": { 722 "line": 29, 723 "column": 9, 724 "program": "interfaceAssignment.ts" 725 } 726 } 727 }, 728 "decorators": [], 729 "loc": { 730 "start": { 731 "line": 29, 732 "column": 5, 733 "program": "interfaceAssignment.ts" 734 }, 735 "end": { 736 "line": 29, 737 "column": 6, 738 "program": "interfaceAssignment.ts" 739 } 740 } 741 }, 742 "init": { 743 "type": "ObjectExpression", 744 "properties": [ 745 { 746 "type": "Property", 747 "method": false, 748 "shorthand": false, 749 "computed": false, 750 "key": { 751 "type": "Identifier", 752 "name": "a", 753 "decorators": [], 754 "loc": { 755 "start": { 756 "line": 30, 757 "column": 5, 758 "program": "interfaceAssignment.ts" 759 }, 760 "end": { 761 "line": 30, 762 "column": 6, 763 "program": "interfaceAssignment.ts" 764 } 765 } 766 }, 767 "value": { 768 "type": "NumberLiteral", 769 "value": 2, 770 "loc": { 771 "start": { 772 "line": 30, 773 "column": 8, 774 "program": "interfaceAssignment.ts" 775 }, 776 "end": { 777 "line": 30, 778 "column": 9, 779 "program": "interfaceAssignment.ts" 780 } 781 } 782 }, 783 "kind": "init", 784 "loc": { 785 "start": { 786 "line": 30, 787 "column": 5, 788 "program": "interfaceAssignment.ts" 789 }, 790 "end": { 791 "line": 30, 792 "column": 9, 793 "program": "interfaceAssignment.ts" 794 } 795 } 796 }, 797 { 798 "type": "Property", 799 "method": false, 800 "shorthand": false, 801 "computed": false, 802 "key": { 803 "type": "Identifier", 804 "name": "b", 805 "decorators": [], 806 "loc": { 807 "start": { 808 "line": 30, 809 "column": 11, 810 "program": "interfaceAssignment.ts" 811 }, 812 "end": { 813 "line": 30, 814 "column": 12, 815 "program": "interfaceAssignment.ts" 816 } 817 } 818 }, 819 "value": { 820 "type": "StringLiteral", 821 "value": "bar", 822 "loc": { 823 "start": { 824 "line": 30, 825 "column": 14, 826 "program": "interfaceAssignment.ts" 827 }, 828 "end": { 829 "line": 30, 830 "column": 19, 831 "program": "interfaceAssignment.ts" 832 } 833 } 834 }, 835 "kind": "init", 836 "loc": { 837 "start": { 838 "line": 30, 839 "column": 11, 840 "program": "interfaceAssignment.ts" 841 }, 842 "end": { 843 "line": 30, 844 "column": 19, 845 "program": "interfaceAssignment.ts" 846 } 847 } 848 }, 849 { 850 "type": "Property", 851 "method": false, 852 "shorthand": false, 853 "computed": false, 854 "key": { 855 "type": "Identifier", 856 "name": "c", 857 "decorators": [], 858 "loc": { 859 "start": { 860 "line": 30, 861 "column": 21, 862 "program": "interfaceAssignment.ts" 863 }, 864 "end": { 865 "line": 30, 866 "column": 22, 867 "program": "interfaceAssignment.ts" 868 } 869 } 870 }, 871 "value": { 872 "type": "BooleanLiteral", 873 "value": false, 874 "loc": { 875 "start": { 876 "line": 30, 877 "column": 24, 878 "program": "interfaceAssignment.ts" 879 }, 880 "end": { 881 "line": 30, 882 "column": 29, 883 "program": "interfaceAssignment.ts" 884 } 885 } 886 }, 887 "kind": "init", 888 "loc": { 889 "start": { 890 "line": 30, 891 "column": 21, 892 "program": "interfaceAssignment.ts" 893 }, 894 "end": { 895 "line": 30, 896 "column": 29, 897 "program": "interfaceAssignment.ts" 898 } 899 } 900 }, 901 { 902 "type": "Property", 903 "method": false, 904 "shorthand": false, 905 "computed": false, 906 "key": { 907 "type": "Identifier", 908 "name": "d", 909 "decorators": [], 910 "loc": { 911 "start": { 912 "line": 30, 913 "column": 31, 914 "program": "interfaceAssignment.ts" 915 }, 916 "end": { 917 "line": 30, 918 "column": 32, 919 "program": "interfaceAssignment.ts" 920 } 921 } 922 }, 923 "value": { 924 "type": "FunctionExpression", 925 "function": { 926 "type": "ScriptFunction", 927 "id": null, 928 "generator": false, 929 "async": false, 930 "expression": false, 931 "params": [ 932 { 933 "type": "Identifier", 934 "name": "a", 935 "typeAnnotation": { 936 "type": "TSNumberKeyword", 937 "loc": { 938 "start": { 939 "line": 30, 940 "column": 47, 941 "program": "interfaceAssignment.ts" 942 }, 943 "end": { 944 "line": 30, 945 "column": 53, 946 "program": "interfaceAssignment.ts" 947 } 948 } 949 }, 950 "decorators": [], 951 "loc": { 952 "start": { 953 "line": 30, 954 "column": 44, 955 "program": "interfaceAssignment.ts" 956 }, 957 "end": { 958 "line": 30, 959 "column": 45, 960 "program": "interfaceAssignment.ts" 961 } 962 } 963 }, 964 { 965 "type": "Identifier", 966 "name": "b", 967 "typeAnnotation": { 968 "type": "TSStringKeyword", 969 "loc": { 970 "start": { 971 "line": 30, 972 "column": 58, 973 "program": "interfaceAssignment.ts" 974 }, 975 "end": { 976 "line": 30, 977 "column": 64, 978 "program": "interfaceAssignment.ts" 979 } 980 } 981 }, 982 "decorators": [], 983 "loc": { 984 "start": { 985 "line": 30, 986 "column": 55, 987 "program": "interfaceAssignment.ts" 988 }, 989 "end": { 990 "line": 30, 991 "column": 56, 992 "program": "interfaceAssignment.ts" 993 } 994 } 995 } 996 ], 997 "body": { 998 "type": "BlockStatement", 999 "statements": [ 1000 { 1001 "type": "ReturnStatement", 1002 "argument": { 1003 "type": "ArrayExpression", 1004 "elements": [ 1005 { 1006 "type": "NumberLiteral", 1007 "value": 1, 1008 "loc": { 1009 "start": { 1010 "line": 31, 1011 "column": 17, 1012 "program": "interfaceAssignment.ts" 1013 }, 1014 "end": { 1015 "line": 31, 1016 "column": 18, 1017 "program": "interfaceAssignment.ts" 1018 } 1019 } 1020 }, 1021 { 1022 "type": "NumberLiteral", 1023 "value": 2, 1024 "loc": { 1025 "start": { 1026 "line": 31, 1027 "column": 20, 1028 "program": "interfaceAssignment.ts" 1029 }, 1030 "end": { 1031 "line": 31, 1032 "column": 21, 1033 "program": "interfaceAssignment.ts" 1034 } 1035 } 1036 } 1037 ], 1038 "loc": { 1039 "start": { 1040 "line": 31, 1041 "column": 16, 1042 "program": "interfaceAssignment.ts" 1043 }, 1044 "end": { 1045 "line": 31, 1046 "column": 22, 1047 "program": "interfaceAssignment.ts" 1048 } 1049 } 1050 }, 1051 "loc": { 1052 "start": { 1053 "line": 31, 1054 "column": 9, 1055 "program": "interfaceAssignment.ts" 1056 }, 1057 "end": { 1058 "line": 31, 1059 "column": 23, 1060 "program": "interfaceAssignment.ts" 1061 } 1062 } 1063 } 1064 ], 1065 "loc": { 1066 "start": { 1067 "line": 30, 1068 "column": 66, 1069 "program": "interfaceAssignment.ts" 1070 }, 1071 "end": { 1072 "line": 32, 1073 "column": 6, 1074 "program": "interfaceAssignment.ts" 1075 } 1076 } 1077 }, 1078 "loc": { 1079 "start": { 1080 "line": 30, 1081 "column": 34, 1082 "program": "interfaceAssignment.ts" 1083 }, 1084 "end": { 1085 "line": 32, 1086 "column": 6, 1087 "program": "interfaceAssignment.ts" 1088 } 1089 } 1090 }, 1091 "loc": { 1092 "start": { 1093 "line": 30, 1094 "column": 34, 1095 "program": "interfaceAssignment.ts" 1096 }, 1097 "end": { 1098 "line": 32, 1099 "column": 6, 1100 "program": "interfaceAssignment.ts" 1101 } 1102 } 1103 }, 1104 "kind": "init", 1105 "loc": { 1106 "start": { 1107 "line": 30, 1108 "column": 31, 1109 "program": "interfaceAssignment.ts" 1110 }, 1111 "end": { 1112 "line": 32, 1113 "column": 6, 1114 "program": "interfaceAssignment.ts" 1115 } 1116 } 1117 } 1118 ], 1119 "loc": { 1120 "start": { 1121 "line": 29, 1122 "column": 12, 1123 "program": "interfaceAssignment.ts" 1124 }, 1125 "end": { 1126 "line": 33, 1127 "column": 2, 1128 "program": "interfaceAssignment.ts" 1129 } 1130 } 1131 }, 1132 "loc": { 1133 "start": { 1134 "line": 29, 1135 "column": 5, 1136 "program": "interfaceAssignment.ts" 1137 }, 1138 "end": { 1139 "line": 33, 1140 "column": 2, 1141 "program": "interfaceAssignment.ts" 1142 } 1143 } 1144 } 1145 ], 1146 "kind": "var", 1147 "loc": { 1148 "start": { 1149 "line": 29, 1150 "column": 1, 1151 "program": "interfaceAssignment.ts" 1152 }, 1153 "end": { 1154 "line": 33, 1155 "column": 2, 1156 "program": "interfaceAssignment.ts" 1157 } 1158 } 1159 }, 1160 { 1161 "type": "TSInterfaceDeclaration", 1162 "body": { 1163 "type": "TSInterfaceBody", 1164 "body": [ 1165 { 1166 "type": "TSCallSignatureDeclaration", 1167 "params": [ 1168 { 1169 "type": "Identifier", 1170 "name": "a", 1171 "typeAnnotation": { 1172 "type": "TSNumberKeyword", 1173 "loc": { 1174 "start": { 1175 "line": 37, 1176 "column": 9, 1177 "program": "interfaceAssignment.ts" 1178 }, 1179 "end": { 1180 "line": 37, 1181 "column": 15, 1182 "program": "interfaceAssignment.ts" 1183 } 1184 } 1185 }, 1186 "decorators": [], 1187 "loc": { 1188 "start": { 1189 "line": 37, 1190 "column": 6, 1191 "program": "interfaceAssignment.ts" 1192 }, 1193 "end": { 1194 "line": 37, 1195 "column": 7, 1196 "program": "interfaceAssignment.ts" 1197 } 1198 } 1199 }, 1200 { 1201 "type": "Identifier", 1202 "name": "b", 1203 "typeAnnotation": { 1204 "type": "TSNumberKeyword", 1205 "loc": { 1206 "start": { 1207 "line": 37, 1208 "column": 20, 1209 "program": "interfaceAssignment.ts" 1210 }, 1211 "end": { 1212 "line": 37, 1213 "column": 26, 1214 "program": "interfaceAssignment.ts" 1215 } 1216 } 1217 }, 1218 "decorators": [], 1219 "loc": { 1220 "start": { 1221 "line": 37, 1222 "column": 17, 1223 "program": "interfaceAssignment.ts" 1224 }, 1225 "end": { 1226 "line": 37, 1227 "column": 18, 1228 "program": "interfaceAssignment.ts" 1229 } 1230 } 1231 } 1232 ], 1233 "returnType": { 1234 "type": "TSStringKeyword", 1235 "loc": { 1236 "start": { 1237 "line": 37, 1238 "column": 29, 1239 "program": "interfaceAssignment.ts" 1240 }, 1241 "end": { 1242 "line": 37, 1243 "column": 35, 1244 "program": "interfaceAssignment.ts" 1245 } 1246 } 1247 }, 1248 "loc": { 1249 "start": { 1250 "line": 37, 1251 "column": 5, 1252 "program": "interfaceAssignment.ts" 1253 }, 1254 "end": { 1255 "line": 37, 1256 "column": 36, 1257 "program": "interfaceAssignment.ts" 1258 } 1259 } 1260 } 1261 ], 1262 "loc": { 1263 "start": { 1264 "line": 36, 1265 "column": 14, 1266 "program": "interfaceAssignment.ts" 1267 }, 1268 "end": { 1269 "line": 38, 1270 "column": 2, 1271 "program": "interfaceAssignment.ts" 1272 } 1273 } 1274 }, 1275 "id": { 1276 "type": "Identifier", 1277 "name": "C1", 1278 "decorators": [], 1279 "loc": { 1280 "start": { 1281 "line": 36, 1282 "column": 11, 1283 "program": "interfaceAssignment.ts" 1284 }, 1285 "end": { 1286 "line": 36, 1287 "column": 13, 1288 "program": "interfaceAssignment.ts" 1289 } 1290 } 1291 }, 1292 "extends": [], 1293 "loc": { 1294 "start": { 1295 "line": 36, 1296 "column": 1, 1297 "program": "interfaceAssignment.ts" 1298 }, 1299 "end": { 1300 "line": 38, 1301 "column": 2, 1302 "program": "interfaceAssignment.ts" 1303 } 1304 } 1305 }, 1306 { 1307 "type": "TSInterfaceDeclaration", 1308 "body": { 1309 "type": "TSInterfaceBody", 1310 "body": [ 1311 { 1312 "type": "TSCallSignatureDeclaration", 1313 "params": [ 1314 { 1315 "type": "Identifier", 1316 "name": "a", 1317 "typeAnnotation": { 1318 "type": "TSNumberKeyword", 1319 "loc": { 1320 "start": { 1321 "line": 41, 1322 "column": 9, 1323 "program": "interfaceAssignment.ts" 1324 }, 1325 "end": { 1326 "line": 41, 1327 "column": 15, 1328 "program": "interfaceAssignment.ts" 1329 } 1330 } 1331 }, 1332 "decorators": [], 1333 "loc": { 1334 "start": { 1335 "line": 41, 1336 "column": 6, 1337 "program": "interfaceAssignment.ts" 1338 }, 1339 "end": { 1340 "line": 41, 1341 "column": 7, 1342 "program": "interfaceAssignment.ts" 1343 } 1344 } 1345 }, 1346 { 1347 "type": "Identifier", 1348 "name": "b", 1349 "typeAnnotation": { 1350 "type": "TSNumberKeyword", 1351 "loc": { 1352 "start": { 1353 "line": 41, 1354 "column": 20, 1355 "program": "interfaceAssignment.ts" 1356 }, 1357 "end": { 1358 "line": 41, 1359 "column": 26, 1360 "program": "interfaceAssignment.ts" 1361 } 1362 } 1363 }, 1364 "decorators": [], 1365 "loc": { 1366 "start": { 1367 "line": 41, 1368 "column": 17, 1369 "program": "interfaceAssignment.ts" 1370 }, 1371 "end": { 1372 "line": 41, 1373 "column": 18, 1374 "program": "interfaceAssignment.ts" 1375 } 1376 } 1377 } 1378 ], 1379 "returnType": { 1380 "type": "TSStringKeyword", 1381 "loc": { 1382 "start": { 1383 "line": 41, 1384 "column": 29, 1385 "program": "interfaceAssignment.ts" 1386 }, 1387 "end": { 1388 "line": 41, 1389 "column": 35, 1390 "program": "interfaceAssignment.ts" 1391 } 1392 } 1393 }, 1394 "loc": { 1395 "start": { 1396 "line": 41, 1397 "column": 5, 1398 "program": "interfaceAssignment.ts" 1399 }, 1400 "end": { 1401 "line": 41, 1402 "column": 36, 1403 "program": "interfaceAssignment.ts" 1404 } 1405 } 1406 }, 1407 { 1408 "type": "TSCallSignatureDeclaration", 1409 "params": [ 1410 { 1411 "type": "Identifier", 1412 "name": "a", 1413 "typeAnnotation": { 1414 "type": "TSNumberKeyword", 1415 "loc": { 1416 "start": { 1417 "line": 42, 1418 "column": 9, 1419 "program": "interfaceAssignment.ts" 1420 }, 1421 "end": { 1422 "line": 42, 1423 "column": 15, 1424 "program": "interfaceAssignment.ts" 1425 } 1426 } 1427 }, 1428 "decorators": [], 1429 "loc": { 1430 "start": { 1431 "line": 42, 1432 "column": 6, 1433 "program": "interfaceAssignment.ts" 1434 }, 1435 "end": { 1436 "line": 42, 1437 "column": 7, 1438 "program": "interfaceAssignment.ts" 1439 } 1440 } 1441 }, 1442 { 1443 "type": "Identifier", 1444 "name": "b", 1445 "typeAnnotation": { 1446 "type": "TSNumberKeyword", 1447 "loc": { 1448 "start": { 1449 "line": 42, 1450 "column": 20, 1451 "program": "interfaceAssignment.ts" 1452 }, 1453 "end": { 1454 "line": 42, 1455 "column": 26, 1456 "program": "interfaceAssignment.ts" 1457 } 1458 } 1459 }, 1460 "decorators": [], 1461 "loc": { 1462 "start": { 1463 "line": 42, 1464 "column": 17, 1465 "program": "interfaceAssignment.ts" 1466 }, 1467 "end": { 1468 "line": 42, 1469 "column": 18, 1470 "program": "interfaceAssignment.ts" 1471 } 1472 } 1473 } 1474 ], 1475 "returnType": { 1476 "type": "TSStringKeyword", 1477 "loc": { 1478 "start": { 1479 "line": 42, 1480 "column": 29, 1481 "program": "interfaceAssignment.ts" 1482 }, 1483 "end": { 1484 "line": 42, 1485 "column": 35, 1486 "program": "interfaceAssignment.ts" 1487 } 1488 } 1489 }, 1490 "loc": { 1491 "start": { 1492 "line": 42, 1493 "column": 5, 1494 "program": "interfaceAssignment.ts" 1495 }, 1496 "end": { 1497 "line": 42, 1498 "column": 36, 1499 "program": "interfaceAssignment.ts" 1500 } 1501 } 1502 }, 1503 { 1504 "type": "TSCallSignatureDeclaration", 1505 "params": [ 1506 { 1507 "type": "Identifier", 1508 "name": "a", 1509 "typeAnnotation": { 1510 "type": "TSNumberKeyword", 1511 "loc": { 1512 "start": { 1513 "line": 43, 1514 "column": 9, 1515 "program": "interfaceAssignment.ts" 1516 }, 1517 "end": { 1518 "line": 43, 1519 "column": 15, 1520 "program": "interfaceAssignment.ts" 1521 } 1522 } 1523 }, 1524 "decorators": [], 1525 "loc": { 1526 "start": { 1527 "line": 43, 1528 "column": 6, 1529 "program": "interfaceAssignment.ts" 1530 }, 1531 "end": { 1532 "line": 43, 1533 "column": 7, 1534 "program": "interfaceAssignment.ts" 1535 } 1536 } 1537 }, 1538 { 1539 "type": "Identifier", 1540 "name": "b", 1541 "typeAnnotation": { 1542 "type": "TSNumberKeyword", 1543 "loc": { 1544 "start": { 1545 "line": 43, 1546 "column": 20, 1547 "program": "interfaceAssignment.ts" 1548 }, 1549 "end": { 1550 "line": 43, 1551 "column": 26, 1552 "program": "interfaceAssignment.ts" 1553 } 1554 } 1555 }, 1556 "decorators": [], 1557 "loc": { 1558 "start": { 1559 "line": 43, 1560 "column": 17, 1561 "program": "interfaceAssignment.ts" 1562 }, 1563 "end": { 1564 "line": 43, 1565 "column": 18, 1566 "program": "interfaceAssignment.ts" 1567 } 1568 } 1569 } 1570 ], 1571 "returnType": { 1572 "type": "TSStringKeyword", 1573 "loc": { 1574 "start": { 1575 "line": 43, 1576 "column": 29, 1577 "program": "interfaceAssignment.ts" 1578 }, 1579 "end": { 1580 "line": 43, 1581 "column": 35, 1582 "program": "interfaceAssignment.ts" 1583 } 1584 } 1585 }, 1586 "loc": { 1587 "start": { 1588 "line": 43, 1589 "column": 5, 1590 "program": "interfaceAssignment.ts" 1591 }, 1592 "end": { 1593 "line": 43, 1594 "column": 36, 1595 "program": "interfaceAssignment.ts" 1596 } 1597 } 1598 } 1599 ], 1600 "loc": { 1601 "start": { 1602 "line": 40, 1603 "column": 14, 1604 "program": "interfaceAssignment.ts" 1605 }, 1606 "end": { 1607 "line": 44, 1608 "column": 2, 1609 "program": "interfaceAssignment.ts" 1610 } 1611 } 1612 }, 1613 "id": { 1614 "type": "Identifier", 1615 "name": "C2", 1616 "decorators": [], 1617 "loc": { 1618 "start": { 1619 "line": 40, 1620 "column": 11, 1621 "program": "interfaceAssignment.ts" 1622 }, 1623 "end": { 1624 "line": 40, 1625 "column": 13, 1626 "program": "interfaceAssignment.ts" 1627 } 1628 } 1629 }, 1630 "extends": [], 1631 "loc": { 1632 "start": { 1633 "line": 40, 1634 "column": 1, 1635 "program": "interfaceAssignment.ts" 1636 }, 1637 "end": { 1638 "line": 44, 1639 "column": 2, 1640 "program": "interfaceAssignment.ts" 1641 } 1642 } 1643 }, 1644 { 1645 "type": "TSInterfaceDeclaration", 1646 "body": { 1647 "type": "TSInterfaceBody", 1648 "body": [ 1649 { 1650 "type": "TSCallSignatureDeclaration", 1651 "params": [ 1652 { 1653 "type": "Identifier", 1654 "name": "a", 1655 "typeAnnotation": { 1656 "type": "TSNumberKeyword", 1657 "loc": { 1658 "start": { 1659 "line": 47, 1660 "column": 9, 1661 "program": "interfaceAssignment.ts" 1662 }, 1663 "end": { 1664 "line": 47, 1665 "column": 15, 1666 "program": "interfaceAssignment.ts" 1667 } 1668 } 1669 }, 1670 "decorators": [], 1671 "loc": { 1672 "start": { 1673 "line": 47, 1674 "column": 6, 1675 "program": "interfaceAssignment.ts" 1676 }, 1677 "end": { 1678 "line": 47, 1679 "column": 7, 1680 "program": "interfaceAssignment.ts" 1681 } 1682 } 1683 }, 1684 { 1685 "type": "Identifier", 1686 "name": "b", 1687 "typeAnnotation": { 1688 "type": "TSNumberKeyword", 1689 "loc": { 1690 "start": { 1691 "line": 47, 1692 "column": 20, 1693 "program": "interfaceAssignment.ts" 1694 }, 1695 "end": { 1696 "line": 47, 1697 "column": 26, 1698 "program": "interfaceAssignment.ts" 1699 } 1700 } 1701 }, 1702 "decorators": [], 1703 "loc": { 1704 "start": { 1705 "line": 47, 1706 "column": 17, 1707 "program": "interfaceAssignment.ts" 1708 }, 1709 "end": { 1710 "line": 47, 1711 "column": 18, 1712 "program": "interfaceAssignment.ts" 1713 } 1714 } 1715 } 1716 ], 1717 "returnType": { 1718 "type": "TSStringKeyword", 1719 "loc": { 1720 "start": { 1721 "line": 47, 1722 "column": 29, 1723 "program": "interfaceAssignment.ts" 1724 }, 1725 "end": { 1726 "line": 47, 1727 "column": 35, 1728 "program": "interfaceAssignment.ts" 1729 } 1730 } 1731 }, 1732 "loc": { 1733 "start": { 1734 "line": 47, 1735 "column": 5, 1736 "program": "interfaceAssignment.ts" 1737 }, 1738 "end": { 1739 "line": 47, 1740 "column": 36, 1741 "program": "interfaceAssignment.ts" 1742 } 1743 } 1744 }, 1745 { 1746 "type": "TSCallSignatureDeclaration", 1747 "params": [ 1748 { 1749 "type": "Identifier", 1750 "name": "a", 1751 "typeAnnotation": { 1752 "type": "TSNumberKeyword", 1753 "loc": { 1754 "start": { 1755 "line": 48, 1756 "column": 9, 1757 "program": "interfaceAssignment.ts" 1758 }, 1759 "end": { 1760 "line": 48, 1761 "column": 15, 1762 "program": "interfaceAssignment.ts" 1763 } 1764 } 1765 }, 1766 "decorators": [], 1767 "loc": { 1768 "start": { 1769 "line": 48, 1770 "column": 6, 1771 "program": "interfaceAssignment.ts" 1772 }, 1773 "end": { 1774 "line": 48, 1775 "column": 7, 1776 "program": "interfaceAssignment.ts" 1777 } 1778 } 1779 }, 1780 { 1781 "type": "Identifier", 1782 "name": "b", 1783 "typeAnnotation": { 1784 "type": "TSNumberKeyword", 1785 "loc": { 1786 "start": { 1787 "line": 48, 1788 "column": 20, 1789 "program": "interfaceAssignment.ts" 1790 }, 1791 "end": { 1792 "line": 48, 1793 "column": 26, 1794 "program": "interfaceAssignment.ts" 1795 } 1796 } 1797 }, 1798 "decorators": [], 1799 "loc": { 1800 "start": { 1801 "line": 48, 1802 "column": 17, 1803 "program": "interfaceAssignment.ts" 1804 }, 1805 "end": { 1806 "line": 48, 1807 "column": 18, 1808 "program": "interfaceAssignment.ts" 1809 } 1810 } 1811 } 1812 ], 1813 "returnType": { 1814 "type": "TSStringKeyword", 1815 "loc": { 1816 "start": { 1817 "line": 48, 1818 "column": 29, 1819 "program": "interfaceAssignment.ts" 1820 }, 1821 "end": { 1822 "line": 48, 1823 "column": 35, 1824 "program": "interfaceAssignment.ts" 1825 } 1826 } 1827 }, 1828 "loc": { 1829 "start": { 1830 "line": 48, 1831 "column": 5, 1832 "program": "interfaceAssignment.ts" 1833 }, 1834 "end": { 1835 "line": 48, 1836 "column": 36, 1837 "program": "interfaceAssignment.ts" 1838 } 1839 } 1840 } 1841 ], 1842 "loc": { 1843 "start": { 1844 "line": 46, 1845 "column": 25, 1846 "program": "interfaceAssignment.ts" 1847 }, 1848 "end": { 1849 "line": 49, 1850 "column": 2, 1851 "program": "interfaceAssignment.ts" 1852 } 1853 } 1854 }, 1855 "id": { 1856 "type": "Identifier", 1857 "name": "C3", 1858 "decorators": [], 1859 "loc": { 1860 "start": { 1861 "line": 46, 1862 "column": 11, 1863 "program": "interfaceAssignment.ts" 1864 }, 1865 "end": { 1866 "line": 46, 1867 "column": 13, 1868 "program": "interfaceAssignment.ts" 1869 } 1870 } 1871 }, 1872 "extends": [ 1873 { 1874 "type": "TSInterfaceHeritage", 1875 "expression": { 1876 "type": "TSTypeReference", 1877 "typeName": { 1878 "type": "Identifier", 1879 "name": "C1", 1880 "decorators": [], 1881 "loc": { 1882 "start": { 1883 "line": 46, 1884 "column": 22, 1885 "program": "interfaceAssignment.ts" 1886 }, 1887 "end": { 1888 "line": 46, 1889 "column": 24, 1890 "program": "interfaceAssignment.ts" 1891 } 1892 } 1893 }, 1894 "loc": { 1895 "start": { 1896 "line": 46, 1897 "column": 25, 1898 "program": "interfaceAssignment.ts" 1899 }, 1900 "end": { 1901 "line": 46, 1902 "column": 24, 1903 "program": "interfaceAssignment.ts" 1904 } 1905 } 1906 }, 1907 "loc": { 1908 "start": { 1909 "line": 46, 1910 "column": 25, 1911 "program": "interfaceAssignment.ts" 1912 }, 1913 "end": { 1914 "line": 46, 1915 "column": 24, 1916 "program": "interfaceAssignment.ts" 1917 } 1918 } 1919 } 1920 ], 1921 "loc": { 1922 "start": { 1923 "line": 46, 1924 "column": 1, 1925 "program": "interfaceAssignment.ts" 1926 }, 1927 "end": { 1928 "line": 49, 1929 "column": 2, 1930 "program": "interfaceAssignment.ts" 1931 } 1932 } 1933 }, 1934 { 1935 "type": "VariableDeclaration", 1936 "declarations": [ 1937 { 1938 "type": "VariableDeclarator", 1939 "id": { 1940 "type": "Identifier", 1941 "name": "c", 1942 "typeAnnotation": { 1943 "type": "TSTypeReference", 1944 "typeName": { 1945 "type": "Identifier", 1946 "name": "C2", 1947 "decorators": [], 1948 "loc": { 1949 "start": { 1950 "line": 51, 1951 "column": 8, 1952 "program": "interfaceAssignment.ts" 1953 }, 1954 "end": { 1955 "line": 51, 1956 "column": 10, 1957 "program": "interfaceAssignment.ts" 1958 } 1959 } 1960 }, 1961 "loc": { 1962 "start": { 1963 "line": 51, 1964 "column": 8, 1965 "program": "interfaceAssignment.ts" 1966 }, 1967 "end": { 1968 "line": 51, 1969 "column": 10, 1970 "program": "interfaceAssignment.ts" 1971 } 1972 } 1973 }, 1974 "decorators": [], 1975 "loc": { 1976 "start": { 1977 "line": 51, 1978 "column": 5, 1979 "program": "interfaceAssignment.ts" 1980 }, 1981 "end": { 1982 "line": 51, 1983 "column": 6, 1984 "program": "interfaceAssignment.ts" 1985 } 1986 } 1987 }, 1988 "init": null, 1989 "loc": { 1990 "start": { 1991 "line": 51, 1992 "column": 5, 1993 "program": "interfaceAssignment.ts" 1994 }, 1995 "end": { 1996 "line": 51, 1997 "column": 6, 1998 "program": "interfaceAssignment.ts" 1999 } 2000 } 2001 } 2002 ], 2003 "kind": "var", 2004 "loc": { 2005 "start": { 2006 "line": 51, 2007 "column": 1, 2008 "program": "interfaceAssignment.ts" 2009 }, 2010 "end": { 2011 "line": 51, 2012 "column": 11, 2013 "program": "interfaceAssignment.ts" 2014 } 2015 } 2016 }, 2017 { 2018 "type": "VariableDeclaration", 2019 "declarations": [ 2020 { 2021 "type": "VariableDeclarator", 2022 "id": { 2023 "type": "Identifier", 2024 "name": "c", 2025 "typeAnnotation": { 2026 "type": "TSTypeReference", 2027 "typeName": { 2028 "type": "Identifier", 2029 "name": "C3", 2030 "decorators": [], 2031 "loc": { 2032 "start": { 2033 "line": 52, 2034 "column": 8, 2035 "program": "interfaceAssignment.ts" 2036 }, 2037 "end": { 2038 "line": 52, 2039 "column": 10, 2040 "program": "interfaceAssignment.ts" 2041 } 2042 } 2043 }, 2044 "loc": { 2045 "start": { 2046 "line": 52, 2047 "column": 8, 2048 "program": "interfaceAssignment.ts" 2049 }, 2050 "end": { 2051 "line": 52, 2052 "column": 10, 2053 "program": "interfaceAssignment.ts" 2054 } 2055 } 2056 }, 2057 "decorators": [], 2058 "loc": { 2059 "start": { 2060 "line": 52, 2061 "column": 5, 2062 "program": "interfaceAssignment.ts" 2063 }, 2064 "end": { 2065 "line": 52, 2066 "column": 6, 2067 "program": "interfaceAssignment.ts" 2068 } 2069 } 2070 }, 2071 "init": null, 2072 "loc": { 2073 "start": { 2074 "line": 52, 2075 "column": 5, 2076 "program": "interfaceAssignment.ts" 2077 }, 2078 "end": { 2079 "line": 52, 2080 "column": 6, 2081 "program": "interfaceAssignment.ts" 2082 } 2083 } 2084 } 2085 ], 2086 "kind": "var", 2087 "loc": { 2088 "start": { 2089 "line": 52, 2090 "column": 1, 2091 "program": "interfaceAssignment.ts" 2092 }, 2093 "end": { 2094 "line": 52, 2095 "column": 11, 2096 "program": "interfaceAssignment.ts" 2097 } 2098 } 2099 }, 2100 { 2101 "type": "TSInterfaceDeclaration", 2102 "body": { 2103 "type": "TSInterfaceBody", 2104 "body": [ 2105 { 2106 "type": "TSPropertySignature", 2107 "computed": false, 2108 "optional": false, 2109 "readonly": false, 2110 "key": { 2111 "type": "Identifier", 2112 "name": "d", 2113 "decorators": [], 2114 "loc": { 2115 "start": { 2116 "line": 55, 2117 "column": 5, 2118 "program": "interfaceAssignment.ts" 2119 }, 2120 "end": { 2121 "line": 55, 2122 "column": 6, 2123 "program": "interfaceAssignment.ts" 2124 } 2125 } 2126 }, 2127 "typeAnnotation": { 2128 "type": "TSArrayType", 2129 "elementType": { 2130 "type": "TSStringKeyword", 2131 "loc": { 2132 "start": { 2133 "line": 55, 2134 "column": 8, 2135 "program": "interfaceAssignment.ts" 2136 }, 2137 "end": { 2138 "line": 55, 2139 "column": 14, 2140 "program": "interfaceAssignment.ts" 2141 } 2142 } 2143 }, 2144 "annotations": [], 2145 "loc": { 2146 "start": { 2147 "line": 55, 2148 "column": 8, 2149 "program": "interfaceAssignment.ts" 2150 }, 2151 "end": { 2152 "line": 55, 2153 "column": 16, 2154 "program": "interfaceAssignment.ts" 2155 } 2156 } 2157 }, 2158 "loc": { 2159 "start": { 2160 "line": 55, 2161 "column": 5, 2162 "program": "interfaceAssignment.ts" 2163 }, 2164 "end": { 2165 "line": 56, 2166 "column": 2, 2167 "program": "interfaceAssignment.ts" 2168 } 2169 } 2170 } 2171 ], 2172 "loc": { 2173 "start": { 2174 "line": 54, 2175 "column": 29, 2176 "program": "interfaceAssignment.ts" 2177 }, 2178 "end": { 2179 "line": 56, 2180 "column": 2, 2181 "program": "interfaceAssignment.ts" 2182 } 2183 } 2184 }, 2185 "id": { 2186 "type": "Identifier", 2187 "name": "D4", 2188 "decorators": [], 2189 "loc": { 2190 "start": { 2191 "line": 54, 2192 "column": 11, 2193 "program": "interfaceAssignment.ts" 2194 }, 2195 "end": { 2196 "line": 54, 2197 "column": 13, 2198 "program": "interfaceAssignment.ts" 2199 } 2200 } 2201 }, 2202 "extends": [ 2203 { 2204 "type": "TSInterfaceHeritage", 2205 "expression": { 2206 "type": "TSTypeReference", 2207 "typeName": { 2208 "type": "Identifier", 2209 "name": "D3", 2210 "decorators": [], 2211 "loc": { 2212 "start": { 2213 "line": 54, 2214 "column": 22, 2215 "program": "interfaceAssignment.ts" 2216 }, 2217 "end": { 2218 "line": 54, 2219 "column": 24, 2220 "program": "interfaceAssignment.ts" 2221 } 2222 } 2223 }, 2224 "loc": { 2225 "start": { 2226 "line": 54, 2227 "column": 24, 2228 "program": "interfaceAssignment.ts" 2229 }, 2230 "end": { 2231 "line": 54, 2232 "column": 24, 2233 "program": "interfaceAssignment.ts" 2234 } 2235 } 2236 }, 2237 "loc": { 2238 "start": { 2239 "line": 54, 2240 "column": 24, 2241 "program": "interfaceAssignment.ts" 2242 }, 2243 "end": { 2244 "line": 54, 2245 "column": 24, 2246 "program": "interfaceAssignment.ts" 2247 } 2248 } 2249 }, 2250 { 2251 "type": "TSInterfaceHeritage", 2252 "expression": { 2253 "type": "TSTypeReference", 2254 "typeName": { 2255 "type": "Identifier", 2256 "name": "D2", 2257 "decorators": [], 2258 "loc": { 2259 "start": { 2260 "line": 54, 2261 "column": 26, 2262 "program": "interfaceAssignment.ts" 2263 }, 2264 "end": { 2265 "line": 54, 2266 "column": 28, 2267 "program": "interfaceAssignment.ts" 2268 } 2269 } 2270 }, 2271 "loc": { 2272 "start": { 2273 "line": 54, 2274 "column": 29, 2275 "program": "interfaceAssignment.ts" 2276 }, 2277 "end": { 2278 "line": 54, 2279 "column": 28, 2280 "program": "interfaceAssignment.ts" 2281 } 2282 } 2283 }, 2284 "loc": { 2285 "start": { 2286 "line": 54, 2287 "column": 29, 2288 "program": "interfaceAssignment.ts" 2289 }, 2290 "end": { 2291 "line": 54, 2292 "column": 28, 2293 "program": "interfaceAssignment.ts" 2294 } 2295 } 2296 } 2297 ], 2298 "loc": { 2299 "start": { 2300 "line": 54, 2301 "column": 1, 2302 "program": "interfaceAssignment.ts" 2303 }, 2304 "end": { 2305 "line": 56, 2306 "column": 2, 2307 "program": "interfaceAssignment.ts" 2308 } 2309 } 2310 }, 2311 { 2312 "type": "TSInterfaceDeclaration", 2313 "body": { 2314 "type": "TSInterfaceBody", 2315 "body": [ 2316 { 2317 "type": "TSPropertySignature", 2318 "computed": false, 2319 "optional": false, 2320 "readonly": false, 2321 "key": { 2322 "type": "Identifier", 2323 "name": "a", 2324 "decorators": [], 2325 "loc": { 2326 "start": { 2327 "line": 59, 2328 "column": 5, 2329 "program": "interfaceAssignment.ts" 2330 }, 2331 "end": { 2332 "line": 59, 2333 "column": 6, 2334 "program": "interfaceAssignment.ts" 2335 } 2336 } 2337 }, 2338 "typeAnnotation": { 2339 "type": "TSNumberKeyword", 2340 "loc": { 2341 "start": { 2342 "line": 59, 2343 "column": 8, 2344 "program": "interfaceAssignment.ts" 2345 }, 2346 "end": { 2347 "line": 59, 2348 "column": 14, 2349 "program": "interfaceAssignment.ts" 2350 } 2351 } 2352 }, 2353 "loc": { 2354 "start": { 2355 "line": 59, 2356 "column": 5, 2357 "program": "interfaceAssignment.ts" 2358 }, 2359 "end": { 2360 "line": 60, 2361 "column": 2, 2362 "program": "interfaceAssignment.ts" 2363 } 2364 } 2365 } 2366 ], 2367 "loc": { 2368 "start": { 2369 "line": 58, 2370 "column": 14, 2371 "program": "interfaceAssignment.ts" 2372 }, 2373 "end": { 2374 "line": 60, 2375 "column": 2, 2376 "program": "interfaceAssignment.ts" 2377 } 2378 } 2379 }, 2380 "id": { 2381 "type": "Identifier", 2382 "name": "D1", 2383 "decorators": [], 2384 "loc": { 2385 "start": { 2386 "line": 58, 2387 "column": 11, 2388 "program": "interfaceAssignment.ts" 2389 }, 2390 "end": { 2391 "line": 58, 2392 "column": 13, 2393 "program": "interfaceAssignment.ts" 2394 } 2395 } 2396 }, 2397 "extends": [], 2398 "loc": { 2399 "start": { 2400 "line": 58, 2401 "column": 1, 2402 "program": "interfaceAssignment.ts" 2403 }, 2404 "end": { 2405 "line": 60, 2406 "column": 2, 2407 "program": "interfaceAssignment.ts" 2408 } 2409 } 2410 }, 2411 { 2412 "type": "TSInterfaceDeclaration", 2413 "body": { 2414 "type": "TSInterfaceBody", 2415 "body": [ 2416 { 2417 "type": "TSPropertySignature", 2418 "computed": false, 2419 "optional": false, 2420 "readonly": false, 2421 "key": { 2422 "type": "Identifier", 2423 "name": "c", 2424 "decorators": [], 2425 "loc": { 2426 "start": { 2427 "line": 63, 2428 "column": 5, 2429 "program": "interfaceAssignment.ts" 2430 }, 2431 "end": { 2432 "line": 63, 2433 "column": 6, 2434 "program": "interfaceAssignment.ts" 2435 } 2436 } 2437 }, 2438 "typeAnnotation": { 2439 "type": "TSStringKeyword", 2440 "loc": { 2441 "start": { 2442 "line": 63, 2443 "column": 8, 2444 "program": "interfaceAssignment.ts" 2445 }, 2446 "end": { 2447 "line": 63, 2448 "column": 14, 2449 "program": "interfaceAssignment.ts" 2450 } 2451 } 2452 }, 2453 "loc": { 2454 "start": { 2455 "line": 63, 2456 "column": 5, 2457 "program": "interfaceAssignment.ts" 2458 }, 2459 "end": { 2460 "line": 63, 2461 "column": 15, 2462 "program": "interfaceAssignment.ts" 2463 } 2464 } 2465 } 2466 ], 2467 "loc": { 2468 "start": { 2469 "line": 62, 2470 "column": 14, 2471 "program": "interfaceAssignment.ts" 2472 }, 2473 "end": { 2474 "line": 64, 2475 "column": 2, 2476 "program": "interfaceAssignment.ts" 2477 } 2478 } 2479 }, 2480 "id": { 2481 "type": "Identifier", 2482 "name": "D3", 2483 "decorators": [], 2484 "loc": { 2485 "start": { 2486 "line": 62, 2487 "column": 11, 2488 "program": "interfaceAssignment.ts" 2489 }, 2490 "end": { 2491 "line": 62, 2492 "column": 13, 2493 "program": "interfaceAssignment.ts" 2494 } 2495 } 2496 }, 2497 "extends": [], 2498 "loc": { 2499 "start": { 2500 "line": 62, 2501 "column": 1, 2502 "program": "interfaceAssignment.ts" 2503 }, 2504 "end": { 2505 "line": 64, 2506 "column": 2, 2507 "program": "interfaceAssignment.ts" 2508 } 2509 } 2510 }, 2511 { 2512 "type": "TSInterfaceDeclaration", 2513 "body": { 2514 "type": "TSInterfaceBody", 2515 "body": [ 2516 { 2517 "type": "TSPropertySignature", 2518 "computed": false, 2519 "optional": false, 2520 "readonly": false, 2521 "key": { 2522 "type": "Identifier", 2523 "name": "b", 2524 "decorators": [], 2525 "loc": { 2526 "start": { 2527 "line": 67, 2528 "column": 5, 2529 "program": "interfaceAssignment.ts" 2530 }, 2531 "end": { 2532 "line": 67, 2533 "column": 6, 2534 "program": "interfaceAssignment.ts" 2535 } 2536 } 2537 }, 2538 "typeAnnotation": { 2539 "type": "TSNumberKeyword", 2540 "loc": { 2541 "start": { 2542 "line": 67, 2543 "column": 8, 2544 "program": "interfaceAssignment.ts" 2545 }, 2546 "end": { 2547 "line": 67, 2548 "column": 14, 2549 "program": "interfaceAssignment.ts" 2550 } 2551 } 2552 }, 2553 "loc": { 2554 "start": { 2555 "line": 67, 2556 "column": 5, 2557 "program": "interfaceAssignment.ts" 2558 }, 2559 "end": { 2560 "line": 67, 2561 "column": 15, 2562 "program": "interfaceAssignment.ts" 2563 } 2564 } 2565 } 2566 ], 2567 "loc": { 2568 "start": { 2569 "line": 66, 2570 "column": 25, 2571 "program": "interfaceAssignment.ts" 2572 }, 2573 "end": { 2574 "line": 68, 2575 "column": 2, 2576 "program": "interfaceAssignment.ts" 2577 } 2578 } 2579 }, 2580 "id": { 2581 "type": "Identifier", 2582 "name": "D2", 2583 "decorators": [], 2584 "loc": { 2585 "start": { 2586 "line": 66, 2587 "column": 11, 2588 "program": "interfaceAssignment.ts" 2589 }, 2590 "end": { 2591 "line": 66, 2592 "column": 13, 2593 "program": "interfaceAssignment.ts" 2594 } 2595 } 2596 }, 2597 "extends": [ 2598 { 2599 "type": "TSInterfaceHeritage", 2600 "expression": { 2601 "type": "TSTypeReference", 2602 "typeName": { 2603 "type": "Identifier", 2604 "name": "D1", 2605 "decorators": [], 2606 "loc": { 2607 "start": { 2608 "line": 66, 2609 "column": 22, 2610 "program": "interfaceAssignment.ts" 2611 }, 2612 "end": { 2613 "line": 66, 2614 "column": 24, 2615 "program": "interfaceAssignment.ts" 2616 } 2617 } 2618 }, 2619 "loc": { 2620 "start": { 2621 "line": 66, 2622 "column": 25, 2623 "program": "interfaceAssignment.ts" 2624 }, 2625 "end": { 2626 "line": 66, 2627 "column": 24, 2628 "program": "interfaceAssignment.ts" 2629 } 2630 } 2631 }, 2632 "loc": { 2633 "start": { 2634 "line": 66, 2635 "column": 25, 2636 "program": "interfaceAssignment.ts" 2637 }, 2638 "end": { 2639 "line": 66, 2640 "column": 24, 2641 "program": "interfaceAssignment.ts" 2642 } 2643 } 2644 } 2645 ], 2646 "loc": { 2647 "start": { 2648 "line": 66, 2649 "column": 1, 2650 "program": "interfaceAssignment.ts" 2651 }, 2652 "end": { 2653 "line": 68, 2654 "column": 2, 2655 "program": "interfaceAssignment.ts" 2656 } 2657 } 2658 }, 2659 { 2660 "type": "TSInterfaceDeclaration", 2661 "body": { 2662 "type": "TSInterfaceBody", 2663 "body": [ 2664 { 2665 "type": "TSPropertySignature", 2666 "computed": false, 2667 "optional": false, 2668 "readonly": false, 2669 "key": { 2670 "type": "Identifier", 2671 "name": "e", 2672 "decorators": [], 2673 "loc": { 2674 "start": { 2675 "line": 71, 2676 "column": 5, 2677 "program": "interfaceAssignment.ts" 2678 }, 2679 "end": { 2680 "line": 71, 2681 "column": 6, 2682 "program": "interfaceAssignment.ts" 2683 } 2684 } 2685 }, 2686 "typeAnnotation": { 2687 "type": "TSTupleType", 2688 "elementTypes": [ 2689 { 2690 "type": "TSNumberKeyword", 2691 "loc": { 2692 "start": { 2693 "line": 71, 2694 "column": 9, 2695 "program": "interfaceAssignment.ts" 2696 }, 2697 "end": { 2698 "line": 71, 2699 "column": 16, 2700 "program": "interfaceAssignment.ts" 2701 } 2702 } 2703 }, 2704 { 2705 "type": "TSStringKeyword", 2706 "loc": { 2707 "start": { 2708 "line": 71, 2709 "column": 17, 2710 "program": "interfaceAssignment.ts" 2711 }, 2712 "end": { 2713 "line": 71, 2714 "column": 24, 2715 "program": "interfaceAssignment.ts" 2716 } 2717 } 2718 } 2719 ], 2720 "loc": { 2721 "start": { 2722 "line": 71, 2723 "column": 8, 2724 "program": "interfaceAssignment.ts" 2725 }, 2726 "end": { 2727 "line": 71, 2728 "column": 24, 2729 "program": "interfaceAssignment.ts" 2730 } 2731 } 2732 }, 2733 "loc": { 2734 "start": { 2735 "line": 71, 2736 "column": 5, 2737 "program": "interfaceAssignment.ts" 2738 }, 2739 "end": { 2740 "line": 71, 2741 "column": 25, 2742 "program": "interfaceAssignment.ts" 2743 } 2744 } 2745 } 2746 ], 2747 "loc": { 2748 "start": { 2749 "line": 70, 2750 "column": 33, 2751 "program": "interfaceAssignment.ts" 2752 }, 2753 "end": { 2754 "line": 72, 2755 "column": 2, 2756 "program": "interfaceAssignment.ts" 2757 } 2758 } 2759 }, 2760 "id": { 2761 "type": "Identifier", 2762 "name": "D5", 2763 "decorators": [], 2764 "loc": { 2765 "start": { 2766 "line": 70, 2767 "column": 11, 2768 "program": "interfaceAssignment.ts" 2769 }, 2770 "end": { 2771 "line": 70, 2772 "column": 13, 2773 "program": "interfaceAssignment.ts" 2774 } 2775 } 2776 }, 2777 "extends": [ 2778 { 2779 "type": "TSInterfaceHeritage", 2780 "expression": { 2781 "type": "TSTypeReference", 2782 "typeName": { 2783 "type": "Identifier", 2784 "name": "D4", 2785 "decorators": [], 2786 "loc": { 2787 "start": { 2788 "line": 70, 2789 "column": 22, 2790 "program": "interfaceAssignment.ts" 2791 }, 2792 "end": { 2793 "line": 70, 2794 "column": 24, 2795 "program": "interfaceAssignment.ts" 2796 } 2797 } 2798 }, 2799 "loc": { 2800 "start": { 2801 "line": 70, 2802 "column": 24, 2803 "program": "interfaceAssignment.ts" 2804 }, 2805 "end": { 2806 "line": 70, 2807 "column": 24, 2808 "program": "interfaceAssignment.ts" 2809 } 2810 } 2811 }, 2812 "loc": { 2813 "start": { 2814 "line": 70, 2815 "column": 24, 2816 "program": "interfaceAssignment.ts" 2817 }, 2818 "end": { 2819 "line": 70, 2820 "column": 24, 2821 "program": "interfaceAssignment.ts" 2822 } 2823 } 2824 }, 2825 { 2826 "type": "TSInterfaceHeritage", 2827 "expression": { 2828 "type": "TSTypeReference", 2829 "typeName": { 2830 "type": "Identifier", 2831 "name": "D1", 2832 "decorators": [], 2833 "loc": { 2834 "start": { 2835 "line": 70, 2836 "column": 26, 2837 "program": "interfaceAssignment.ts" 2838 }, 2839 "end": { 2840 "line": 70, 2841 "column": 28, 2842 "program": "interfaceAssignment.ts" 2843 } 2844 } 2845 }, 2846 "loc": { 2847 "start": { 2848 "line": 70, 2849 "column": 28, 2850 "program": "interfaceAssignment.ts" 2851 }, 2852 "end": { 2853 "line": 70, 2854 "column": 28, 2855 "program": "interfaceAssignment.ts" 2856 } 2857 } 2858 }, 2859 "loc": { 2860 "start": { 2861 "line": 70, 2862 "column": 28, 2863 "program": "interfaceAssignment.ts" 2864 }, 2865 "end": { 2866 "line": 70, 2867 "column": 28, 2868 "program": "interfaceAssignment.ts" 2869 } 2870 } 2871 }, 2872 { 2873 "type": "TSInterfaceHeritage", 2874 "expression": { 2875 "type": "TSTypeReference", 2876 "typeName": { 2877 "type": "Identifier", 2878 "name": "D3", 2879 "decorators": [], 2880 "loc": { 2881 "start": { 2882 "line": 70, 2883 "column": 30, 2884 "program": "interfaceAssignment.ts" 2885 }, 2886 "end": { 2887 "line": 70, 2888 "column": 32, 2889 "program": "interfaceAssignment.ts" 2890 } 2891 } 2892 }, 2893 "loc": { 2894 "start": { 2895 "line": 70, 2896 "column": 33, 2897 "program": "interfaceAssignment.ts" 2898 }, 2899 "end": { 2900 "line": 70, 2901 "column": 32, 2902 "program": "interfaceAssignment.ts" 2903 } 2904 } 2905 }, 2906 "loc": { 2907 "start": { 2908 "line": 70, 2909 "column": 33, 2910 "program": "interfaceAssignment.ts" 2911 }, 2912 "end": { 2913 "line": 70, 2914 "column": 32, 2915 "program": "interfaceAssignment.ts" 2916 } 2917 } 2918 } 2919 ], 2920 "loc": { 2921 "start": { 2922 "line": 70, 2923 "column": 1, 2924 "program": "interfaceAssignment.ts" 2925 }, 2926 "end": { 2927 "line": 72, 2928 "column": 2, 2929 "program": "interfaceAssignment.ts" 2930 } 2931 } 2932 }, 2933 { 2934 "type": "VariableDeclaration", 2935 "declarations": [ 2936 { 2937 "type": "VariableDeclarator", 2938 "id": { 2939 "type": "Identifier", 2940 "name": "d", 2941 "typeAnnotation": { 2942 "type": "TSTypeReference", 2943 "typeName": { 2944 "type": "Identifier", 2945 "name": "D5", 2946 "decorators": [], 2947 "loc": { 2948 "start": { 2949 "line": 74, 2950 "column": 8, 2951 "program": "interfaceAssignment.ts" 2952 }, 2953 "end": { 2954 "line": 74, 2955 "column": 10, 2956 "program": "interfaceAssignment.ts" 2957 } 2958 } 2959 }, 2960 "loc": { 2961 "start": { 2962 "line": 74, 2963 "column": 8, 2964 "program": "interfaceAssignment.ts" 2965 }, 2966 "end": { 2967 "line": 74, 2968 "column": 10, 2969 "program": "interfaceAssignment.ts" 2970 } 2971 } 2972 }, 2973 "decorators": [], 2974 "loc": { 2975 "start": { 2976 "line": 74, 2977 "column": 5, 2978 "program": "interfaceAssignment.ts" 2979 }, 2980 "end": { 2981 "line": 74, 2982 "column": 6, 2983 "program": "interfaceAssignment.ts" 2984 } 2985 } 2986 }, 2987 "init": { 2988 "type": "ObjectExpression", 2989 "properties": [ 2990 { 2991 "type": "Property", 2992 "method": false, 2993 "shorthand": false, 2994 "computed": false, 2995 "key": { 2996 "type": "Identifier", 2997 "name": "a", 2998 "decorators": [], 2999 "loc": { 3000 "start": { 3001 "line": 74, 3002 "column": 15, 3003 "program": "interfaceAssignment.ts" 3004 }, 3005 "end": { 3006 "line": 74, 3007 "column": 16, 3008 "program": "interfaceAssignment.ts" 3009 } 3010 } 3011 }, 3012 "value": { 3013 "type": "NumberLiteral", 3014 "value": 2, 3015 "loc": { 3016 "start": { 3017 "line": 74, 3018 "column": 18, 3019 "program": "interfaceAssignment.ts" 3020 }, 3021 "end": { 3022 "line": 74, 3023 "column": 19, 3024 "program": "interfaceAssignment.ts" 3025 } 3026 } 3027 }, 3028 "kind": "init", 3029 "loc": { 3030 "start": { 3031 "line": 74, 3032 "column": 15, 3033 "program": "interfaceAssignment.ts" 3034 }, 3035 "end": { 3036 "line": 74, 3037 "column": 19, 3038 "program": "interfaceAssignment.ts" 3039 } 3040 } 3041 }, 3042 { 3043 "type": "Property", 3044 "method": false, 3045 "shorthand": false, 3046 "computed": false, 3047 "key": { 3048 "type": "Identifier", 3049 "name": "b", 3050 "decorators": [], 3051 "loc": { 3052 "start": { 3053 "line": 74, 3054 "column": 21, 3055 "program": "interfaceAssignment.ts" 3056 }, 3057 "end": { 3058 "line": 74, 3059 "column": 22, 3060 "program": "interfaceAssignment.ts" 3061 } 3062 } 3063 }, 3064 "value": { 3065 "type": "NumberLiteral", 3066 "value": 3, 3067 "loc": { 3068 "start": { 3069 "line": 74, 3070 "column": 24, 3071 "program": "interfaceAssignment.ts" 3072 }, 3073 "end": { 3074 "line": 74, 3075 "column": 25, 3076 "program": "interfaceAssignment.ts" 3077 } 3078 } 3079 }, 3080 "kind": "init", 3081 "loc": { 3082 "start": { 3083 "line": 74, 3084 "column": 21, 3085 "program": "interfaceAssignment.ts" 3086 }, 3087 "end": { 3088 "line": 74, 3089 "column": 25, 3090 "program": "interfaceAssignment.ts" 3091 } 3092 } 3093 }, 3094 { 3095 "type": "Property", 3096 "method": false, 3097 "shorthand": false, 3098 "computed": false, 3099 "key": { 3100 "type": "Identifier", 3101 "name": "c", 3102 "decorators": [], 3103 "loc": { 3104 "start": { 3105 "line": 74, 3106 "column": 27, 3107 "program": "interfaceAssignment.ts" 3108 }, 3109 "end": { 3110 "line": 74, 3111 "column": 28, 3112 "program": "interfaceAssignment.ts" 3113 } 3114 } 3115 }, 3116 "value": { 3117 "type": "StringLiteral", 3118 "value": "bar", 3119 "loc": { 3120 "start": { 3121 "line": 74, 3122 "column": 30, 3123 "program": "interfaceAssignment.ts" 3124 }, 3125 "end": { 3126 "line": 74, 3127 "column": 35, 3128 "program": "interfaceAssignment.ts" 3129 } 3130 } 3131 }, 3132 "kind": "init", 3133 "loc": { 3134 "start": { 3135 "line": 74, 3136 "column": 27, 3137 "program": "interfaceAssignment.ts" 3138 }, 3139 "end": { 3140 "line": 74, 3141 "column": 35, 3142 "program": "interfaceAssignment.ts" 3143 } 3144 } 3145 }, 3146 { 3147 "type": "Property", 3148 "method": false, 3149 "shorthand": false, 3150 "computed": false, 3151 "key": { 3152 "type": "Identifier", 3153 "name": "d", 3154 "decorators": [], 3155 "loc": { 3156 "start": { 3157 "line": 74, 3158 "column": 37, 3159 "program": "interfaceAssignment.ts" 3160 }, 3161 "end": { 3162 "line": 74, 3163 "column": 38, 3164 "program": "interfaceAssignment.ts" 3165 } 3166 } 3167 }, 3168 "value": { 3169 "type": "ArrayExpression", 3170 "elements": [ 3171 { 3172 "type": "StringLiteral", 3173 "value": "foo", 3174 "loc": { 3175 "start": { 3176 "line": 74, 3177 "column": 41, 3178 "program": "interfaceAssignment.ts" 3179 }, 3180 "end": { 3181 "line": 74, 3182 "column": 46, 3183 "program": "interfaceAssignment.ts" 3184 } 3185 } 3186 }, 3187 { 3188 "type": "StringLiteral", 3189 "value": "bar", 3190 "loc": { 3191 "start": { 3192 "line": 74, 3193 "column": 48, 3194 "program": "interfaceAssignment.ts" 3195 }, 3196 "end": { 3197 "line": 74, 3198 "column": 53, 3199 "program": "interfaceAssignment.ts" 3200 } 3201 } 3202 }, 3203 { 3204 "type": "StringLiteral", 3205 "value": "baz", 3206 "loc": { 3207 "start": { 3208 "line": 74, 3209 "column": 55, 3210 "program": "interfaceAssignment.ts" 3211 }, 3212 "end": { 3213 "line": 74, 3214 "column": 60, 3215 "program": "interfaceAssignment.ts" 3216 } 3217 } 3218 } 3219 ], 3220 "loc": { 3221 "start": { 3222 "line": 74, 3223 "column": 40, 3224 "program": "interfaceAssignment.ts" 3225 }, 3226 "end": { 3227 "line": 74, 3228 "column": 61, 3229 "program": "interfaceAssignment.ts" 3230 } 3231 } 3232 }, 3233 "kind": "init", 3234 "loc": { 3235 "start": { 3236 "line": 74, 3237 "column": 37, 3238 "program": "interfaceAssignment.ts" 3239 }, 3240 "end": { 3241 "line": 74, 3242 "column": 61, 3243 "program": "interfaceAssignment.ts" 3244 } 3245 } 3246 }, 3247 { 3248 "type": "Property", 3249 "method": false, 3250 "shorthand": false, 3251 "computed": false, 3252 "key": { 3253 "type": "Identifier", 3254 "name": "e", 3255 "decorators": [], 3256 "loc": { 3257 "start": { 3258 "line": 74, 3259 "column": 63, 3260 "program": "interfaceAssignment.ts" 3261 }, 3262 "end": { 3263 "line": 74, 3264 "column": 64, 3265 "program": "interfaceAssignment.ts" 3266 } 3267 } 3268 }, 3269 "value": { 3270 "type": "ArrayExpression", 3271 "elements": [ 3272 { 3273 "type": "NumberLiteral", 3274 "value": 1, 3275 "loc": { 3276 "start": { 3277 "line": 74, 3278 "column": 67, 3279 "program": "interfaceAssignment.ts" 3280 }, 3281 "end": { 3282 "line": 74, 3283 "column": 68, 3284 "program": "interfaceAssignment.ts" 3285 } 3286 } 3287 }, 3288 { 3289 "type": "StringLiteral", 3290 "value": "foo", 3291 "loc": { 3292 "start": { 3293 "line": 74, 3294 "column": 70, 3295 "program": "interfaceAssignment.ts" 3296 }, 3297 "end": { 3298 "line": 74, 3299 "column": 75, 3300 "program": "interfaceAssignment.ts" 3301 } 3302 } 3303 } 3304 ], 3305 "loc": { 3306 "start": { 3307 "line": 74, 3308 "column": 66, 3309 "program": "interfaceAssignment.ts" 3310 }, 3311 "end": { 3312 "line": 74, 3313 "column": 76, 3314 "program": "interfaceAssignment.ts" 3315 } 3316 } 3317 }, 3318 "kind": "init", 3319 "loc": { 3320 "start": { 3321 "line": 74, 3322 "column": 63, 3323 "program": "interfaceAssignment.ts" 3324 }, 3325 "end": { 3326 "line": 74, 3327 "column": 76, 3328 "program": "interfaceAssignment.ts" 3329 } 3330 } 3331 } 3332 ], 3333 "loc": { 3334 "start": { 3335 "line": 74, 3336 "column": 13, 3337 "program": "interfaceAssignment.ts" 3338 }, 3339 "end": { 3340 "line": 74, 3341 "column": 78, 3342 "program": "interfaceAssignment.ts" 3343 } 3344 } 3345 }, 3346 "loc": { 3347 "start": { 3348 "line": 74, 3349 "column": 5, 3350 "program": "interfaceAssignment.ts" 3351 }, 3352 "end": { 3353 "line": 74, 3354 "column": 78, 3355 "program": "interfaceAssignment.ts" 3356 } 3357 } 3358 } 3359 ], 3360 "kind": "var", 3361 "loc": { 3362 "start": { 3363 "line": 74, 3364 "column": 1, 3365 "program": "interfaceAssignment.ts" 3366 }, 3367 "end": { 3368 "line": 74, 3369 "column": 78, 3370 "program": "interfaceAssignment.ts" 3371 } 3372 } 3373 }, 3374 { 3375 "type": "TSInterfaceDeclaration", 3376 "body": { 3377 "type": "TSInterfaceBody", 3378 "body": [ 3379 { 3380 "type": "TSPropertySignature", 3381 "computed": false, 3382 "optional": false, 3383 "readonly": false, 3384 "key": { 3385 "type": "Identifier", 3386 "name": "a", 3387 "decorators": [], 3388 "loc": { 3389 "start": { 3390 "line": 77, 3391 "column": 5, 3392 "program": "interfaceAssignment.ts" 3393 }, 3394 "end": { 3395 "line": 77, 3396 "column": 6, 3397 "program": "interfaceAssignment.ts" 3398 } 3399 } 3400 }, 3401 "typeAnnotation": { 3402 "type": "TSNumberKeyword", 3403 "loc": { 3404 "start": { 3405 "line": 77, 3406 "column": 8, 3407 "program": "interfaceAssignment.ts" 3408 }, 3409 "end": { 3410 "line": 77, 3411 "column": 14, 3412 "program": "interfaceAssignment.ts" 3413 } 3414 } 3415 }, 3416 "loc": { 3417 "start": { 3418 "line": 77, 3419 "column": 5, 3420 "program": "interfaceAssignment.ts" 3421 }, 3422 "end": { 3423 "line": 77, 3424 "column": 15, 3425 "program": "interfaceAssignment.ts" 3426 } 3427 } 3428 } 3429 ], 3430 "loc": { 3431 "start": { 3432 "line": 76, 3433 "column": 13, 3434 "program": "interfaceAssignment.ts" 3435 }, 3436 "end": { 3437 "line": 78, 3438 "column": 2, 3439 "program": "interfaceAssignment.ts" 3440 } 3441 } 3442 }, 3443 "id": { 3444 "type": "Identifier", 3445 "name": "E", 3446 "decorators": [], 3447 "loc": { 3448 "start": { 3449 "line": 76, 3450 "column": 11, 3451 "program": "interfaceAssignment.ts" 3452 }, 3453 "end": { 3454 "line": 76, 3455 "column": 12, 3456 "program": "interfaceAssignment.ts" 3457 } 3458 } 3459 }, 3460 "extends": [], 3461 "loc": { 3462 "start": { 3463 "line": 76, 3464 "column": 1, 3465 "program": "interfaceAssignment.ts" 3466 }, 3467 "end": { 3468 "line": 78, 3469 "column": 2, 3470 "program": "interfaceAssignment.ts" 3471 } 3472 } 3473 }, 3474 { 3475 "type": "TSInterfaceDeclaration", 3476 "body": { 3477 "type": "TSInterfaceBody", 3478 "body": [ 3479 { 3480 "type": "TSPropertySignature", 3481 "computed": false, 3482 "optional": false, 3483 "readonly": false, 3484 "key": { 3485 "type": "Identifier", 3486 "name": "b", 3487 "decorators": [], 3488 "loc": { 3489 "start": { 3490 "line": 81, 3491 "column": 5, 3492 "program": "interfaceAssignment.ts" 3493 }, 3494 "end": { 3495 "line": 81, 3496 "column": 6, 3497 "program": "interfaceAssignment.ts" 3498 } 3499 } 3500 }, 3501 "typeAnnotation": { 3502 "type": "TSStringKeyword", 3503 "loc": { 3504 "start": { 3505 "line": 81, 3506 "column": 8, 3507 "program": "interfaceAssignment.ts" 3508 }, 3509 "end": { 3510 "line": 81, 3511 "column": 14, 3512 "program": "interfaceAssignment.ts" 3513 } 3514 } 3515 }, 3516 "loc": { 3517 "start": { 3518 "line": 81, 3519 "column": 5, 3520 "program": "interfaceAssignment.ts" 3521 }, 3522 "end": { 3523 "line": 81, 3524 "column": 15, 3525 "program": "interfaceAssignment.ts" 3526 } 3527 } 3528 } 3529 ], 3530 "loc": { 3531 "start": { 3532 "line": 80, 3533 "column": 13, 3534 "program": "interfaceAssignment.ts" 3535 }, 3536 "end": { 3537 "line": 82, 3538 "column": 2, 3539 "program": "interfaceAssignment.ts" 3540 } 3541 } 3542 }, 3543 "id": { 3544 "type": "Identifier", 3545 "name": "E", 3546 "decorators": [], 3547 "loc": { 3548 "start": { 3549 "line": 80, 3550 "column": 11, 3551 "program": "interfaceAssignment.ts" 3552 }, 3553 "end": { 3554 "line": 80, 3555 "column": 12, 3556 "program": "interfaceAssignment.ts" 3557 } 3558 } 3559 }, 3560 "extends": [], 3561 "loc": { 3562 "start": { 3563 "line": 80, 3564 "column": 1, 3565 "program": "interfaceAssignment.ts" 3566 }, 3567 "end": { 3568 "line": 82, 3569 "column": 2, 3570 "program": "interfaceAssignment.ts" 3571 } 3572 } 3573 }, 3574 { 3575 "type": "TSInterfaceDeclaration", 3576 "body": { 3577 "type": "TSInterfaceBody", 3578 "body": [ 3579 { 3580 "type": "TSPropertySignature", 3581 "computed": false, 3582 "optional": false, 3583 "readonly": false, 3584 "key": { 3585 "type": "Identifier", 3586 "name": "d", 3587 "decorators": [], 3588 "loc": { 3589 "start": { 3590 "line": 85, 3591 "column": 5, 3592 "program": "interfaceAssignment.ts" 3593 }, 3594 "end": { 3595 "line": 85, 3596 "column": 6, 3597 "program": "interfaceAssignment.ts" 3598 } 3599 } 3600 }, 3601 "typeAnnotation": { 3602 "type": "TSFunctionType", 3603 "params": [ 3604 { 3605 "type": "Identifier", 3606 "name": "a", 3607 "typeAnnotation": { 3608 "type": "TSNumberKeyword", 3609 "loc": { 3610 "start": { 3611 "line": 85, 3612 "column": 12, 3613 "program": "interfaceAssignment.ts" 3614 }, 3615 "end": { 3616 "line": 85, 3617 "column": 18, 3618 "program": "interfaceAssignment.ts" 3619 } 3620 } 3621 }, 3622 "decorators": [], 3623 "loc": { 3624 "start": { 3625 "line": 85, 3626 "column": 9, 3627 "program": "interfaceAssignment.ts" 3628 }, 3629 "end": { 3630 "line": 85, 3631 "column": 10, 3632 "program": "interfaceAssignment.ts" 3633 } 3634 } 3635 }, 3636 { 3637 "type": "Identifier", 3638 "name": "b", 3639 "typeAnnotation": { 3640 "type": "TSStringKeyword", 3641 "loc": { 3642 "start": { 3643 "line": 85, 3644 "column": 23, 3645 "program": "interfaceAssignment.ts" 3646 }, 3647 "end": { 3648 "line": 85, 3649 "column": 29, 3650 "program": "interfaceAssignment.ts" 3651 } 3652 } 3653 }, 3654 "decorators": [], 3655 "loc": { 3656 "start": { 3657 "line": 85, 3658 "column": 20, 3659 "program": "interfaceAssignment.ts" 3660 }, 3661 "end": { 3662 "line": 85, 3663 "column": 21, 3664 "program": "interfaceAssignment.ts" 3665 } 3666 } 3667 } 3668 ], 3669 "returnType": { 3670 "type": "TSTypeLiteral", 3671 "members": [], 3672 "loc": { 3673 "start": { 3674 "line": 85, 3675 "column": 34, 3676 "program": "interfaceAssignment.ts" 3677 }, 3678 "end": { 3679 "line": 85, 3680 "column": 36, 3681 "program": "interfaceAssignment.ts" 3682 } 3683 } 3684 }, 3685 "loc": { 3686 "start": { 3687 "line": 85, 3688 "column": 8, 3689 "program": "interfaceAssignment.ts" 3690 }, 3691 "end": { 3692 "line": 85, 3693 "column": 36, 3694 "program": "interfaceAssignment.ts" 3695 } 3696 } 3697 }, 3698 "loc": { 3699 "start": { 3700 "line": 85, 3701 "column": 5, 3702 "program": "interfaceAssignment.ts" 3703 }, 3704 "end": { 3705 "line": 86, 3706 "column": 2, 3707 "program": "interfaceAssignment.ts" 3708 } 3709 } 3710 } 3711 ], 3712 "loc": { 3713 "start": { 3714 "line": 84, 3715 "column": 13, 3716 "program": "interfaceAssignment.ts" 3717 }, 3718 "end": { 3719 "line": 86, 3720 "column": 2, 3721 "program": "interfaceAssignment.ts" 3722 } 3723 } 3724 }, 3725 "id": { 3726 "type": "Identifier", 3727 "name": "E", 3728 "decorators": [], 3729 "loc": { 3730 "start": { 3731 "line": 84, 3732 "column": 11, 3733 "program": "interfaceAssignment.ts" 3734 }, 3735 "end": { 3736 "line": 84, 3737 "column": 12, 3738 "program": "interfaceAssignment.ts" 3739 } 3740 } 3741 }, 3742 "extends": [], 3743 "loc": { 3744 "start": { 3745 "line": 84, 3746 "column": 1, 3747 "program": "interfaceAssignment.ts" 3748 }, 3749 "end": { 3750 "line": 86, 3751 "column": 2, 3752 "program": "interfaceAssignment.ts" 3753 } 3754 } 3755 }, 3756 { 3757 "type": "VariableDeclaration", 3758 "declarations": [ 3759 { 3760 "type": "VariableDeclarator", 3761 "id": { 3762 "type": "Identifier", 3763 "name": "e", 3764 "typeAnnotation": { 3765 "type": "TSTypeReference", 3766 "typeName": { 3767 "type": "Identifier", 3768 "name": "E", 3769 "decorators": [], 3770 "loc": { 3771 "start": { 3772 "line": 88, 3773 "column": 8, 3774 "program": "interfaceAssignment.ts" 3775 }, 3776 "end": { 3777 "line": 88, 3778 "column": 9, 3779 "program": "interfaceAssignment.ts" 3780 } 3781 } 3782 }, 3783 "loc": { 3784 "start": { 3785 "line": 88, 3786 "column": 8, 3787 "program": "interfaceAssignment.ts" 3788 }, 3789 "end": { 3790 "line": 88, 3791 "column": 9, 3792 "program": "interfaceAssignment.ts" 3793 } 3794 } 3795 }, 3796 "decorators": [], 3797 "loc": { 3798 "start": { 3799 "line": 88, 3800 "column": 5, 3801 "program": "interfaceAssignment.ts" 3802 }, 3803 "end": { 3804 "line": 88, 3805 "column": 6, 3806 "program": "interfaceAssignment.ts" 3807 } 3808 } 3809 }, 3810 "init": { 3811 "type": "ObjectExpression", 3812 "properties": [ 3813 { 3814 "type": "Property", 3815 "method": false, 3816 "shorthand": false, 3817 "computed": false, 3818 "key": { 3819 "type": "Identifier", 3820 "name": "a", 3821 "decorators": [], 3822 "loc": { 3823 "start": { 3824 "line": 88, 3825 "column": 14, 3826 "program": "interfaceAssignment.ts" 3827 }, 3828 "end": { 3829 "line": 88, 3830 "column": 15, 3831 "program": "interfaceAssignment.ts" 3832 } 3833 } 3834 }, 3835 "value": { 3836 "type": "NumberLiteral", 3837 "value": 1, 3838 "loc": { 3839 "start": { 3840 "line": 88, 3841 "column": 17, 3842 "program": "interfaceAssignment.ts" 3843 }, 3844 "end": { 3845 "line": 88, 3846 "column": 18, 3847 "program": "interfaceAssignment.ts" 3848 } 3849 } 3850 }, 3851 "kind": "init", 3852 "loc": { 3853 "start": { 3854 "line": 88, 3855 "column": 14, 3856 "program": "interfaceAssignment.ts" 3857 }, 3858 "end": { 3859 "line": 88, 3860 "column": 18, 3861 "program": "interfaceAssignment.ts" 3862 } 3863 } 3864 }, 3865 { 3866 "type": "Property", 3867 "method": false, 3868 "shorthand": false, 3869 "computed": false, 3870 "key": { 3871 "type": "Identifier", 3872 "name": "b", 3873 "decorators": [], 3874 "loc": { 3875 "start": { 3876 "line": 88, 3877 "column": 20, 3878 "program": "interfaceAssignment.ts" 3879 }, 3880 "end": { 3881 "line": 88, 3882 "column": 21, 3883 "program": "interfaceAssignment.ts" 3884 } 3885 } 3886 }, 3887 "value": { 3888 "type": "StringLiteral", 3889 "value": "foo", 3890 "loc": { 3891 "start": { 3892 "line": 88, 3893 "column": 23, 3894 "program": "interfaceAssignment.ts" 3895 }, 3896 "end": { 3897 "line": 88, 3898 "column": 28, 3899 "program": "interfaceAssignment.ts" 3900 } 3901 } 3902 }, 3903 "kind": "init", 3904 "loc": { 3905 "start": { 3906 "line": 88, 3907 "column": 20, 3908 "program": "interfaceAssignment.ts" 3909 }, 3910 "end": { 3911 "line": 88, 3912 "column": 28, 3913 "program": "interfaceAssignment.ts" 3914 } 3915 } 3916 }, 3917 { 3918 "type": "Property", 3919 "method": false, 3920 "shorthand": false, 3921 "computed": false, 3922 "key": { 3923 "type": "Identifier", 3924 "name": "d", 3925 "decorators": [], 3926 "loc": { 3927 "start": { 3928 "line": 88, 3929 "column": 30, 3930 "program": "interfaceAssignment.ts" 3931 }, 3932 "end": { 3933 "line": 88, 3934 "column": 31, 3935 "program": "interfaceAssignment.ts" 3936 } 3937 } 3938 }, 3939 "value": { 3940 "type": "FunctionExpression", 3941 "function": { 3942 "type": "ScriptFunction", 3943 "id": null, 3944 "generator": false, 3945 "async": false, 3946 "expression": false, 3947 "params": [ 3948 { 3949 "type": "Identifier", 3950 "name": "a", 3951 "typeAnnotation": { 3952 "type": "TSNumberKeyword", 3953 "loc": { 3954 "start": { 3955 "line": 88, 3956 "column": 46, 3957 "program": "interfaceAssignment.ts" 3958 }, 3959 "end": { 3960 "line": 88, 3961 "column": 52, 3962 "program": "interfaceAssignment.ts" 3963 } 3964 } 3965 }, 3966 "decorators": [], 3967 "loc": { 3968 "start": { 3969 "line": 88, 3970 "column": 43, 3971 "program": "interfaceAssignment.ts" 3972 }, 3973 "end": { 3974 "line": 88, 3975 "column": 44, 3976 "program": "interfaceAssignment.ts" 3977 } 3978 } 3979 }, 3980 { 3981 "type": "Identifier", 3982 "name": "b", 3983 "typeAnnotation": { 3984 "type": "TSStringKeyword", 3985 "loc": { 3986 "start": { 3987 "line": 88, 3988 "column": 57, 3989 "program": "interfaceAssignment.ts" 3990 }, 3991 "end": { 3992 "line": 88, 3993 "column": 63, 3994 "program": "interfaceAssignment.ts" 3995 } 3996 } 3997 }, 3998 "decorators": [], 3999 "loc": { 4000 "start": { 4001 "line": 88, 4002 "column": 54, 4003 "program": "interfaceAssignment.ts" 4004 }, 4005 "end": { 4006 "line": 88, 4007 "column": 55, 4008 "program": "interfaceAssignment.ts" 4009 } 4010 } 4011 } 4012 ], 4013 "body": { 4014 "type": "BlockStatement", 4015 "statements": [ 4016 { 4017 "type": "ReturnStatement", 4018 "argument": { 4019 "type": "ObjectExpression", 4020 "properties": [], 4021 "loc": { 4022 "start": { 4023 "line": 88, 4024 "column": 74, 4025 "program": "interfaceAssignment.ts" 4026 }, 4027 "end": { 4028 "line": 88, 4029 "column": 76, 4030 "program": "interfaceAssignment.ts" 4031 } 4032 } 4033 }, 4034 "loc": { 4035 "start": { 4036 "line": 88, 4037 "column": 67, 4038 "program": "interfaceAssignment.ts" 4039 }, 4040 "end": { 4041 "line": 88, 4042 "column": 76, 4043 "program": "interfaceAssignment.ts" 4044 } 4045 } 4046 } 4047 ], 4048 "loc": { 4049 "start": { 4050 "line": 88, 4051 "column": 65, 4052 "program": "interfaceAssignment.ts" 4053 }, 4054 "end": { 4055 "line": 88, 4056 "column": 78, 4057 "program": "interfaceAssignment.ts" 4058 } 4059 } 4060 }, 4061 "loc": { 4062 "start": { 4063 "line": 88, 4064 "column": 33, 4065 "program": "interfaceAssignment.ts" 4066 }, 4067 "end": { 4068 "line": 88, 4069 "column": 78, 4070 "program": "interfaceAssignment.ts" 4071 } 4072 } 4073 }, 4074 "loc": { 4075 "start": { 4076 "line": 88, 4077 "column": 33, 4078 "program": "interfaceAssignment.ts" 4079 }, 4080 "end": { 4081 "line": 88, 4082 "column": 78, 4083 "program": "interfaceAssignment.ts" 4084 } 4085 } 4086 }, 4087 "kind": "init", 4088 "loc": { 4089 "start": { 4090 "line": 88, 4091 "column": 30, 4092 "program": "interfaceAssignment.ts" 4093 }, 4094 "end": { 4095 "line": 88, 4096 "column": 78, 4097 "program": "interfaceAssignment.ts" 4098 } 4099 } 4100 } 4101 ], 4102 "loc": { 4103 "start": { 4104 "line": 88, 4105 "column": 12, 4106 "program": "interfaceAssignment.ts" 4107 }, 4108 "end": { 4109 "line": 88, 4110 "column": 80, 4111 "program": "interfaceAssignment.ts" 4112 } 4113 } 4114 }, 4115 "loc": { 4116 "start": { 4117 "line": 88, 4118 "column": 5, 4119 "program": "interfaceAssignment.ts" 4120 }, 4121 "end": { 4122 "line": 88, 4123 "column": 80, 4124 "program": "interfaceAssignment.ts" 4125 } 4126 } 4127 } 4128 ], 4129 "kind": "var", 4130 "loc": { 4131 "start": { 4132 "line": 88, 4133 "column": 1, 4134 "program": "interfaceAssignment.ts" 4135 }, 4136 "end": { 4137 "line": 88, 4138 "column": 80, 4139 "program": "interfaceAssignment.ts" 4140 } 4141 } 4142 }, 4143 { 4144 "type": "TSInterfaceDeclaration", 4145 "body": { 4146 "type": "TSInterfaceBody", 4147 "body": [ 4148 { 4149 "type": "TSIndexSignature", 4150 "parameters": { 4151 "type": "Identifier", 4152 "name": "x", 4153 "typeAnnotation": { 4154 "type": "TSNumberKeyword", 4155 "loc": { 4156 "start": { 4157 "line": 91, 4158 "column": 9, 4159 "program": "interfaceAssignment.ts" 4160 }, 4161 "end": { 4162 "line": 91, 4163 "column": 15, 4164 "program": "interfaceAssignment.ts" 4165 } 4166 } 4167 }, 4168 "decorators": [], 4169 "loc": { 4170 "start": { 4171 "line": 91, 4172 "column": 6, 4173 "program": "interfaceAssignment.ts" 4174 }, 4175 "end": { 4176 "line": 91, 4177 "column": 7, 4178 "program": "interfaceAssignment.ts" 4179 } 4180 } 4181 }, 4182 "typeAnnotation": { 4183 "type": "TSStringKeyword", 4184 "loc": { 4185 "start": { 4186 "line": 91, 4187 "column": 18, 4188 "program": "interfaceAssignment.ts" 4189 }, 4190 "end": { 4191 "line": 91, 4192 "column": 24, 4193 "program": "interfaceAssignment.ts" 4194 } 4195 } 4196 }, 4197 "readonly": false, 4198 "loc": { 4199 "start": { 4200 "line": 91, 4201 "column": 5, 4202 "program": "interfaceAssignment.ts" 4203 }, 4204 "end": { 4205 "line": 91, 4206 "column": 25, 4207 "program": "interfaceAssignment.ts" 4208 } 4209 } 4210 }, 4211 { 4212 "type": "TSIndexSignature", 4213 "parameters": { 4214 "type": "Identifier", 4215 "name": "x", 4216 "typeAnnotation": { 4217 "type": "TSStringKeyword", 4218 "loc": { 4219 "start": { 4220 "line": 92, 4221 "column": 9, 4222 "program": "interfaceAssignment.ts" 4223 }, 4224 "end": { 4225 "line": 92, 4226 "column": 15, 4227 "program": "interfaceAssignment.ts" 4228 } 4229 } 4230 }, 4231 "decorators": [], 4232 "loc": { 4233 "start": { 4234 "line": 92, 4235 "column": 6, 4236 "program": "interfaceAssignment.ts" 4237 }, 4238 "end": { 4239 "line": 92, 4240 "column": 7, 4241 "program": "interfaceAssignment.ts" 4242 } 4243 } 4244 }, 4245 "typeAnnotation": { 4246 "type": "TSUnionType", 4247 "types": [ 4248 { 4249 "type": "TSNumberKeyword", 4250 "loc": { 4251 "start": { 4252 "line": 92, 4253 "column": 18, 4254 "program": "interfaceAssignment.ts" 4255 }, 4256 "end": { 4257 "line": 92, 4258 "column": 24, 4259 "program": "interfaceAssignment.ts" 4260 } 4261 } 4262 }, 4263 { 4264 "type": "TSStringKeyword", 4265 "loc": { 4266 "start": { 4267 "line": 92, 4268 "column": 27, 4269 "program": "interfaceAssignment.ts" 4270 }, 4271 "end": { 4272 "line": 92, 4273 "column": 33, 4274 "program": "interfaceAssignment.ts" 4275 } 4276 } 4277 } 4278 ], 4279 "loc": { 4280 "start": { 4281 "line": 92, 4282 "column": 18, 4283 "program": "interfaceAssignment.ts" 4284 }, 4285 "end": { 4286 "line": 92, 4287 "column": 33, 4288 "program": "interfaceAssignment.ts" 4289 } 4290 } 4291 }, 4292 "readonly": false, 4293 "loc": { 4294 "start": { 4295 "line": 92, 4296 "column": 5, 4297 "program": "interfaceAssignment.ts" 4298 }, 4299 "end": { 4300 "line": 93, 4301 "column": 2, 4302 "program": "interfaceAssignment.ts" 4303 } 4304 } 4305 } 4306 ], 4307 "loc": { 4308 "start": { 4309 "line": 90, 4310 "column": 13, 4311 "program": "interfaceAssignment.ts" 4312 }, 4313 "end": { 4314 "line": 93, 4315 "column": 2, 4316 "program": "interfaceAssignment.ts" 4317 } 4318 } 4319 }, 4320 "id": { 4321 "type": "Identifier", 4322 "name": "F", 4323 "decorators": [], 4324 "loc": { 4325 "start": { 4326 "line": 90, 4327 "column": 11, 4328 "program": "interfaceAssignment.ts" 4329 }, 4330 "end": { 4331 "line": 90, 4332 "column": 12, 4333 "program": "interfaceAssignment.ts" 4334 } 4335 } 4336 }, 4337 "extends": [], 4338 "loc": { 4339 "start": { 4340 "line": 90, 4341 "column": 1, 4342 "program": "interfaceAssignment.ts" 4343 }, 4344 "end": { 4345 "line": 93, 4346 "column": 2, 4347 "program": "interfaceAssignment.ts" 4348 } 4349 } 4350 }, 4351 { 4352 "type": "VariableDeclaration", 4353 "declarations": [ 4354 { 4355 "type": "VariableDeclarator", 4356 "id": { 4357 "type": "Identifier", 4358 "name": "f", 4359 "typeAnnotation": { 4360 "type": "TSTypeReference", 4361 "typeName": { 4362 "type": "Identifier", 4363 "name": "F", 4364 "decorators": [], 4365 "loc": { 4366 "start": { 4367 "line": 95, 4368 "column": 8, 4369 "program": "interfaceAssignment.ts" 4370 }, 4371 "end": { 4372 "line": 95, 4373 "column": 9, 4374 "program": "interfaceAssignment.ts" 4375 } 4376 } 4377 }, 4378 "loc": { 4379 "start": { 4380 "line": 95, 4381 "column": 8, 4382 "program": "interfaceAssignment.ts" 4383 }, 4384 "end": { 4385 "line": 95, 4386 "column": 9, 4387 "program": "interfaceAssignment.ts" 4388 } 4389 } 4390 }, 4391 "decorators": [], 4392 "loc": { 4393 "start": { 4394 "line": 95, 4395 "column": 5, 4396 "program": "interfaceAssignment.ts" 4397 }, 4398 "end": { 4399 "line": 95, 4400 "column": 6, 4401 "program": "interfaceAssignment.ts" 4402 } 4403 } 4404 }, 4405 "init": { 4406 "type": "ObjectExpression", 4407 "properties": [ 4408 { 4409 "type": "Property", 4410 "method": false, 4411 "shorthand": false, 4412 "computed": false, 4413 "key": { 4414 "type": "NumberLiteral", 4415 "value": 5, 4416 "loc": { 4417 "start": { 4418 "line": 95, 4419 "column": 14, 4420 "program": "interfaceAssignment.ts" 4421 }, 4422 "end": { 4423 "line": 95, 4424 "column": 15, 4425 "program": "interfaceAssignment.ts" 4426 } 4427 } 4428 }, 4429 "value": { 4430 "type": "StringLiteral", 4431 "value": "foo", 4432 "loc": { 4433 "start": { 4434 "line": 95, 4435 "column": 17, 4436 "program": "interfaceAssignment.ts" 4437 }, 4438 "end": { 4439 "line": 95, 4440 "column": 22, 4441 "program": "interfaceAssignment.ts" 4442 } 4443 } 4444 }, 4445 "kind": "init", 4446 "loc": { 4447 "start": { 4448 "line": 95, 4449 "column": 14, 4450 "program": "interfaceAssignment.ts" 4451 }, 4452 "end": { 4453 "line": 95, 4454 "column": 22, 4455 "program": "interfaceAssignment.ts" 4456 } 4457 } 4458 }, 4459 { 4460 "type": "Property", 4461 "method": false, 4462 "shorthand": false, 4463 "computed": false, 4464 "key": { 4465 "type": "NumberLiteral", 4466 "value": 6, 4467 "loc": { 4468 "start": { 4469 "line": 95, 4470 "column": 24, 4471 "program": "interfaceAssignment.ts" 4472 }, 4473 "end": { 4474 "line": 95, 4475 "column": 25, 4476 "program": "interfaceAssignment.ts" 4477 } 4478 } 4479 }, 4480 "value": { 4481 "type": "StringLiteral", 4482 "value": "bar", 4483 "loc": { 4484 "start": { 4485 "line": 95, 4486 "column": 27, 4487 "program": "interfaceAssignment.ts" 4488 }, 4489 "end": { 4490 "line": 95, 4491 "column": 32, 4492 "program": "interfaceAssignment.ts" 4493 } 4494 } 4495 }, 4496 "kind": "init", 4497 "loc": { 4498 "start": { 4499 "line": 95, 4500 "column": 24, 4501 "program": "interfaceAssignment.ts" 4502 }, 4503 "end": { 4504 "line": 95, 4505 "column": 32, 4506 "program": "interfaceAssignment.ts" 4507 } 4508 } 4509 }, 4510 { 4511 "type": "Property", 4512 "method": false, 4513 "shorthand": false, 4514 "computed": false, 4515 "key": { 4516 "type": "Identifier", 4517 "name": "a", 4518 "decorators": [], 4519 "loc": { 4520 "start": { 4521 "line": 95, 4522 "column": 34, 4523 "program": "interfaceAssignment.ts" 4524 }, 4525 "end": { 4526 "line": 95, 4527 "column": 35, 4528 "program": "interfaceAssignment.ts" 4529 } 4530 } 4531 }, 4532 "value": { 4533 "type": "NumberLiteral", 4534 "value": 1, 4535 "loc": { 4536 "start": { 4537 "line": 95, 4538 "column": 37, 4539 "program": "interfaceAssignment.ts" 4540 }, 4541 "end": { 4542 "line": 95, 4543 "column": 38, 4544 "program": "interfaceAssignment.ts" 4545 } 4546 } 4547 }, 4548 "kind": "init", 4549 "loc": { 4550 "start": { 4551 "line": 95, 4552 "column": 34, 4553 "program": "interfaceAssignment.ts" 4554 }, 4555 "end": { 4556 "line": 95, 4557 "column": 38, 4558 "program": "interfaceAssignment.ts" 4559 } 4560 } 4561 }, 4562 { 4563 "type": "Property", 4564 "method": false, 4565 "shorthand": false, 4566 "computed": false, 4567 "key": { 4568 "type": "Identifier", 4569 "name": "b", 4570 "decorators": [], 4571 "loc": { 4572 "start": { 4573 "line": 95, 4574 "column": 40, 4575 "program": "interfaceAssignment.ts" 4576 }, 4577 "end": { 4578 "line": 95, 4579 "column": 41, 4580 "program": "interfaceAssignment.ts" 4581 } 4582 } 4583 }, 4584 "value": { 4585 "type": "StringLiteral", 4586 "value": "baz", 4587 "loc": { 4588 "start": { 4589 "line": 95, 4590 "column": 43, 4591 "program": "interfaceAssignment.ts" 4592 }, 4593 "end": { 4594 "line": 95, 4595 "column": 48, 4596 "program": "interfaceAssignment.ts" 4597 } 4598 } 4599 }, 4600 "kind": "init", 4601 "loc": { 4602 "start": { 4603 "line": 95, 4604 "column": 40, 4605 "program": "interfaceAssignment.ts" 4606 }, 4607 "end": { 4608 "line": 95, 4609 "column": 48, 4610 "program": "interfaceAssignment.ts" 4611 } 4612 } 4613 } 4614 ], 4615 "loc": { 4616 "start": { 4617 "line": 95, 4618 "column": 12, 4619 "program": "interfaceAssignment.ts" 4620 }, 4621 "end": { 4622 "line": 95, 4623 "column": 50, 4624 "program": "interfaceAssignment.ts" 4625 } 4626 } 4627 }, 4628 "loc": { 4629 "start": { 4630 "line": 95, 4631 "column": 5, 4632 "program": "interfaceAssignment.ts" 4633 }, 4634 "end": { 4635 "line": 95, 4636 "column": 50, 4637 "program": "interfaceAssignment.ts" 4638 } 4639 } 4640 } 4641 ], 4642 "kind": "var", 4643 "loc": { 4644 "start": { 4645 "line": 95, 4646 "column": 1, 4647 "program": "interfaceAssignment.ts" 4648 }, 4649 "end": { 4650 "line": 95, 4651 "column": 51, 4652 "program": "interfaceAssignment.ts" 4653 } 4654 } 4655 } 4656 ], 4657 "loc": { 4658 "start": { 4659 "line": 1, 4660 "column": 1, 4661 "program": "interfaceAssignment.ts" 4662 }, 4663 "end": { 4664 "line": 97, 4665 "column": 1, 4666 "program": "interfaceAssignment.ts" 4667 } 4668 } 4669} 4670