1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "VariableDeclaration", 6 "declarations": [ 7 { 8 "type": "VariableDeclarator", 9 "id": { 10 "type": "Identifier", 11 "name": "obj1", 12 "typeAnnotation": { 13 "type": "TSTypeLiteral", 14 "members": [ 15 { 16 "type": "TSPropertySignature", 17 "computed": false, 18 "optional": false, 19 "readonly": false, 20 "key": { 21 "type": "Identifier", 22 "name": "c", 23 "decorators": [], 24 "loc": { 25 "start": { 26 "line": 17, 27 "column": 13, 28 "program": "objectLiteralAssignability.ts" 29 }, 30 "end": { 31 "line": 17, 32 "column": 14, 33 "program": "objectLiteralAssignability.ts" 34 } 35 } 36 }, 37 "typeAnnotation": { 38 "type": "TSNumberKeyword", 39 "loc": { 40 "start": { 41 "line": 17, 42 "column": 16, 43 "program": "objectLiteralAssignability.ts" 44 }, 45 "end": { 46 "line": 17, 47 "column": 22, 48 "program": "objectLiteralAssignability.ts" 49 } 50 } 51 }, 52 "loc": { 53 "start": { 54 "line": 17, 55 "column": 13, 56 "program": "objectLiteralAssignability.ts" 57 }, 58 "end": { 59 "line": 17, 60 "column": 24, 61 "program": "objectLiteralAssignability.ts" 62 } 63 } 64 } 65 ], 66 "loc": { 67 "start": { 68 "line": 17, 69 "column": 11, 70 "program": "objectLiteralAssignability.ts" 71 }, 72 "end": { 73 "line": 17, 74 "column": 24, 75 "program": "objectLiteralAssignability.ts" 76 } 77 } 78 }, 79 "decorators": [], 80 "loc": { 81 "start": { 82 "line": 17, 83 "column": 5, 84 "program": "objectLiteralAssignability.ts" 85 }, 86 "end": { 87 "line": 17, 88 "column": 9, 89 "program": "objectLiteralAssignability.ts" 90 } 91 } 92 }, 93 "init": null, 94 "loc": { 95 "start": { 96 "line": 17, 97 "column": 5, 98 "program": "objectLiteralAssignability.ts" 99 }, 100 "end": { 101 "line": 17, 102 "column": 9, 103 "program": "objectLiteralAssignability.ts" 104 } 105 } 106 } 107 ], 108 "kind": "var", 109 "loc": { 110 "start": { 111 "line": 17, 112 "column": 1, 113 "program": "objectLiteralAssignability.ts" 114 }, 115 "end": { 116 "line": 17, 117 "column": 25, 118 "program": "objectLiteralAssignability.ts" 119 } 120 } 121 }, 122 { 123 "type": "VariableDeclaration", 124 "declarations": [ 125 { 126 "type": "VariableDeclarator", 127 "id": { 128 "type": "Identifier", 129 "name": "obj2", 130 "typeAnnotation": { 131 "type": "TSUnionType", 132 "types": [ 133 { 134 "type": "TSTypeLiteral", 135 "members": [ 136 { 137 "type": "TSPropertySignature", 138 "computed": false, 139 "optional": false, 140 "readonly": false, 141 "key": { 142 "type": "Identifier", 143 "name": "a", 144 "decorators": [], 145 "loc": { 146 "start": { 147 "line": 18, 148 "column": 13, 149 "program": "objectLiteralAssignability.ts" 150 }, 151 "end": { 152 "line": 18, 153 "column": 14, 154 "program": "objectLiteralAssignability.ts" 155 } 156 } 157 }, 158 "typeAnnotation": { 159 "type": "TSNumberKeyword", 160 "loc": { 161 "start": { 162 "line": 18, 163 "column": 16, 164 "program": "objectLiteralAssignability.ts" 165 }, 166 "end": { 167 "line": 18, 168 "column": 22, 169 "program": "objectLiteralAssignability.ts" 170 } 171 } 172 }, 173 "loc": { 174 "start": { 175 "line": 18, 176 "column": 13, 177 "program": "objectLiteralAssignability.ts" 178 }, 179 "end": { 180 "line": 18, 181 "column": 23, 182 "program": "objectLiteralAssignability.ts" 183 } 184 } 185 }, 186 { 187 "type": "TSPropertySignature", 188 "computed": false, 189 "optional": false, 190 "readonly": false, 191 "key": { 192 "type": "Identifier", 193 "name": "b", 194 "decorators": [], 195 "loc": { 196 "start": { 197 "line": 18, 198 "column": 24, 199 "program": "objectLiteralAssignability.ts" 200 }, 201 "end": { 202 "line": 18, 203 "column": 25, 204 "program": "objectLiteralAssignability.ts" 205 } 206 } 207 }, 208 "typeAnnotation": { 209 "type": "TSStringKeyword", 210 "loc": { 211 "start": { 212 "line": 18, 213 "column": 27, 214 "program": "objectLiteralAssignability.ts" 215 }, 216 "end": { 217 "line": 18, 218 "column": 33, 219 "program": "objectLiteralAssignability.ts" 220 } 221 } 222 }, 223 "loc": { 224 "start": { 225 "line": 18, 226 "column": 24, 227 "program": "objectLiteralAssignability.ts" 228 }, 229 "end": { 230 "line": 18, 231 "column": 35, 232 "program": "objectLiteralAssignability.ts" 233 } 234 } 235 } 236 ], 237 "loc": { 238 "start": { 239 "line": 18, 240 "column": 11, 241 "program": "objectLiteralAssignability.ts" 242 }, 243 "end": { 244 "line": 18, 245 "column": 35, 246 "program": "objectLiteralAssignability.ts" 247 } 248 } 249 }, 250 { 251 "type": "TSTypeLiteral", 252 "members": [ 253 { 254 "type": "TSPropertySignature", 255 "computed": false, 256 "optional": false, 257 "readonly": false, 258 "key": { 259 "type": "Identifier", 260 "name": "a", 261 "decorators": [], 262 "loc": { 263 "start": { 264 "line": 18, 265 "column": 40, 266 "program": "objectLiteralAssignability.ts" 267 }, 268 "end": { 269 "line": 18, 270 "column": 41, 271 "program": "objectLiteralAssignability.ts" 272 } 273 } 274 }, 275 "typeAnnotation": { 276 "type": "TSNumberKeyword", 277 "loc": { 278 "start": { 279 "line": 18, 280 "column": 43, 281 "program": "objectLiteralAssignability.ts" 282 }, 283 "end": { 284 "line": 18, 285 "column": 49, 286 "program": "objectLiteralAssignability.ts" 287 } 288 } 289 }, 290 "loc": { 291 "start": { 292 "line": 18, 293 "column": 40, 294 "program": "objectLiteralAssignability.ts" 295 }, 296 "end": { 297 "line": 18, 298 "column": 50, 299 "program": "objectLiteralAssignability.ts" 300 } 301 } 302 }, 303 { 304 "type": "TSPropertySignature", 305 "computed": false, 306 "optional": false, 307 "readonly": false, 308 "key": { 309 "type": "Identifier", 310 "name": "b", 311 "decorators": [], 312 "loc": { 313 "start": { 314 "line": 18, 315 "column": 51, 316 "program": "objectLiteralAssignability.ts" 317 }, 318 "end": { 319 "line": 18, 320 "column": 52, 321 "program": "objectLiteralAssignability.ts" 322 } 323 } 324 }, 325 "typeAnnotation": { 326 "type": "TSStringKeyword", 327 "loc": { 328 "start": { 329 "line": 18, 330 "column": 54, 331 "program": "objectLiteralAssignability.ts" 332 }, 333 "end": { 334 "line": 18, 335 "column": 60, 336 "program": "objectLiteralAssignability.ts" 337 } 338 } 339 }, 340 "loc": { 341 "start": { 342 "line": 18, 343 "column": 51, 344 "program": "objectLiteralAssignability.ts" 345 }, 346 "end": { 347 "line": 18, 348 "column": 61, 349 "program": "objectLiteralAssignability.ts" 350 } 351 } 352 }, 353 { 354 "type": "TSPropertySignature", 355 "computed": false, 356 "optional": false, 357 "readonly": false, 358 "key": { 359 "type": "Identifier", 360 "name": "c", 361 "decorators": [], 362 "loc": { 363 "start": { 364 "line": 18, 365 "column": 62, 366 "program": "objectLiteralAssignability.ts" 367 }, 368 "end": { 369 "line": 18, 370 "column": 63, 371 "program": "objectLiteralAssignability.ts" 372 } 373 } 374 }, 375 "typeAnnotation": { 376 "type": "TSNumberKeyword", 377 "loc": { 378 "start": { 379 "line": 18, 380 "column": 65, 381 "program": "objectLiteralAssignability.ts" 382 }, 383 "end": { 384 "line": 18, 385 "column": 71, 386 "program": "objectLiteralAssignability.ts" 387 } 388 } 389 }, 390 "loc": { 391 "start": { 392 "line": 18, 393 "column": 62, 394 "program": "objectLiteralAssignability.ts" 395 }, 396 "end": { 397 "line": 18, 398 "column": 73, 399 "program": "objectLiteralAssignability.ts" 400 } 401 } 402 } 403 ], 404 "loc": { 405 "start": { 406 "line": 18, 407 "column": 38, 408 "program": "objectLiteralAssignability.ts" 409 }, 410 "end": { 411 "line": 18, 412 "column": 73, 413 "program": "objectLiteralAssignability.ts" 414 } 415 } 416 } 417 ], 418 "loc": { 419 "start": { 420 "line": 18, 421 "column": 11, 422 "program": "objectLiteralAssignability.ts" 423 }, 424 "end": { 425 "line": 18, 426 "column": 73, 427 "program": "objectLiteralAssignability.ts" 428 } 429 } 430 }, 431 "decorators": [], 432 "loc": { 433 "start": { 434 "line": 18, 435 "column": 5, 436 "program": "objectLiteralAssignability.ts" 437 }, 438 "end": { 439 "line": 18, 440 "column": 9, 441 "program": "objectLiteralAssignability.ts" 442 } 443 } 444 }, 445 "init": { 446 "type": "ObjectExpression", 447 "properties": [ 448 { 449 "type": "Property", 450 "method": false, 451 "shorthand": false, 452 "computed": false, 453 "key": { 454 "type": "Identifier", 455 "name": "a", 456 "decorators": [], 457 "loc": { 458 "start": { 459 "line": 18, 460 "column": 78, 461 "program": "objectLiteralAssignability.ts" 462 }, 463 "end": { 464 "line": 18, 465 "column": 79, 466 "program": "objectLiteralAssignability.ts" 467 } 468 } 469 }, 470 "value": { 471 "type": "NumberLiteral", 472 "value": 5, 473 "loc": { 474 "start": { 475 "line": 18, 476 "column": 81, 477 "program": "objectLiteralAssignability.ts" 478 }, 479 "end": { 480 "line": 18, 481 "column": 82, 482 "program": "objectLiteralAssignability.ts" 483 } 484 } 485 }, 486 "kind": "init", 487 "loc": { 488 "start": { 489 "line": 18, 490 "column": 78, 491 "program": "objectLiteralAssignability.ts" 492 }, 493 "end": { 494 "line": 18, 495 "column": 82, 496 "program": "objectLiteralAssignability.ts" 497 } 498 } 499 }, 500 { 501 "type": "Property", 502 "method": false, 503 "shorthand": false, 504 "computed": false, 505 "key": { 506 "type": "Identifier", 507 "name": "b", 508 "decorators": [], 509 "loc": { 510 "start": { 511 "line": 18, 512 "column": 84, 513 "program": "objectLiteralAssignability.ts" 514 }, 515 "end": { 516 "line": 18, 517 "column": 85, 518 "program": "objectLiteralAssignability.ts" 519 } 520 } 521 }, 522 "value": { 523 "type": "StringLiteral", 524 "value": "foo", 525 "loc": { 526 "start": { 527 "line": 18, 528 "column": 87, 529 "program": "objectLiteralAssignability.ts" 530 }, 531 "end": { 532 "line": 18, 533 "column": 92, 534 "program": "objectLiteralAssignability.ts" 535 } 536 } 537 }, 538 "kind": "init", 539 "loc": { 540 "start": { 541 "line": 18, 542 "column": 84, 543 "program": "objectLiteralAssignability.ts" 544 }, 545 "end": { 546 "line": 18, 547 "column": 92, 548 "program": "objectLiteralAssignability.ts" 549 } 550 } 551 }, 552 { 553 "type": "SpreadElement", 554 "argument": { 555 "type": "Identifier", 556 "name": "obj1", 557 "decorators": [], 558 "loc": { 559 "start": { 560 "line": 18, 561 "column": 97, 562 "program": "objectLiteralAssignability.ts" 563 }, 564 "end": { 565 "line": 18, 566 "column": 101, 567 "program": "objectLiteralAssignability.ts" 568 } 569 } 570 }, 571 "loc": { 572 "start": { 573 "line": 18, 574 "column": 94, 575 "program": "objectLiteralAssignability.ts" 576 }, 577 "end": { 578 "line": 18, 579 "column": 101, 580 "program": "objectLiteralAssignability.ts" 581 } 582 } 583 } 584 ], 585 "loc": { 586 "start": { 587 "line": 18, 588 "column": 76, 589 "program": "objectLiteralAssignability.ts" 590 }, 591 "end": { 592 "line": 18, 593 "column": 103, 594 "program": "objectLiteralAssignability.ts" 595 } 596 } 597 }, 598 "loc": { 599 "start": { 600 "line": 18, 601 "column": 5, 602 "program": "objectLiteralAssignability.ts" 603 }, 604 "end": { 605 "line": 18, 606 "column": 103, 607 "program": "objectLiteralAssignability.ts" 608 } 609 } 610 } 611 ], 612 "kind": "var", 613 "loc": { 614 "start": { 615 "line": 18, 616 "column": 1, 617 "program": "objectLiteralAssignability.ts" 618 }, 619 "end": { 620 "line": 18, 621 "column": 104, 622 "program": "objectLiteralAssignability.ts" 623 } 624 } 625 }, 626 { 627 "type": "ExpressionStatement", 628 "expression": { 629 "type": "AssignmentExpression", 630 "operator": "=", 631 "left": { 632 "type": "Identifier", 633 "name": "obj2", 634 "decorators": [], 635 "loc": { 636 "start": { 637 "line": 19, 638 "column": 1, 639 "program": "objectLiteralAssignability.ts" 640 }, 641 "end": { 642 "line": 19, 643 "column": 5, 644 "program": "objectLiteralAssignability.ts" 645 } 646 } 647 }, 648 "right": { 649 "type": "ObjectExpression", 650 "properties": [ 651 { 652 "type": "Property", 653 "method": false, 654 "shorthand": false, 655 "computed": false, 656 "key": { 657 "type": "Identifier", 658 "name": "a", 659 "decorators": [], 660 "loc": { 661 "start": { 662 "line": 19, 663 "column": 10, 664 "program": "objectLiteralAssignability.ts" 665 }, 666 "end": { 667 "line": 19, 668 "column": 11, 669 "program": "objectLiteralAssignability.ts" 670 } 671 } 672 }, 673 "value": { 674 "type": "NumberLiteral", 675 "value": 2, 676 "loc": { 677 "start": { 678 "line": 19, 679 "column": 13, 680 "program": "objectLiteralAssignability.ts" 681 }, 682 "end": { 683 "line": 19, 684 "column": 14, 685 "program": "objectLiteralAssignability.ts" 686 } 687 } 688 }, 689 "kind": "init", 690 "loc": { 691 "start": { 692 "line": 19, 693 "column": 10, 694 "program": "objectLiteralAssignability.ts" 695 }, 696 "end": { 697 "line": 19, 698 "column": 14, 699 "program": "objectLiteralAssignability.ts" 700 } 701 } 702 }, 703 { 704 "type": "Property", 705 "method": false, 706 "shorthand": false, 707 "computed": false, 708 "key": { 709 "type": "Identifier", 710 "name": "b", 711 "decorators": [], 712 "loc": { 713 "start": { 714 "line": 19, 715 "column": 16, 716 "program": "objectLiteralAssignability.ts" 717 }, 718 "end": { 719 "line": 19, 720 "column": 17, 721 "program": "objectLiteralAssignability.ts" 722 } 723 } 724 }, 725 "value": { 726 "type": "StringLiteral", 727 "value": "bar", 728 "loc": { 729 "start": { 730 "line": 19, 731 "column": 19, 732 "program": "objectLiteralAssignability.ts" 733 }, 734 "end": { 735 "line": 19, 736 "column": 24, 737 "program": "objectLiteralAssignability.ts" 738 } 739 } 740 }, 741 "kind": "init", 742 "loc": { 743 "start": { 744 "line": 19, 745 "column": 16, 746 "program": "objectLiteralAssignability.ts" 747 }, 748 "end": { 749 "line": 19, 750 "column": 24, 751 "program": "objectLiteralAssignability.ts" 752 } 753 } 754 }, 755 { 756 "type": "Property", 757 "method": false, 758 "shorthand": false, 759 "computed": false, 760 "key": { 761 "type": "Identifier", 762 "name": "c", 763 "decorators": [], 764 "loc": { 765 "start": { 766 "line": 19, 767 "column": 26, 768 "program": "objectLiteralAssignability.ts" 769 }, 770 "end": { 771 "line": 19, 772 "column": 27, 773 "program": "objectLiteralAssignability.ts" 774 } 775 } 776 }, 777 "value": { 778 "type": "NumberLiteral", 779 "value": 3, 780 "loc": { 781 "start": { 782 "line": 19, 783 "column": 29, 784 "program": "objectLiteralAssignability.ts" 785 }, 786 "end": { 787 "line": 19, 788 "column": 30, 789 "program": "objectLiteralAssignability.ts" 790 } 791 } 792 }, 793 "kind": "init", 794 "loc": { 795 "start": { 796 "line": 19, 797 "column": 26, 798 "program": "objectLiteralAssignability.ts" 799 }, 800 "end": { 801 "line": 19, 802 "column": 30, 803 "program": "objectLiteralAssignability.ts" 804 } 805 } 806 } 807 ], 808 "loc": { 809 "start": { 810 "line": 19, 811 "column": 8, 812 "program": "objectLiteralAssignability.ts" 813 }, 814 "end": { 815 "line": 19, 816 "column": 32, 817 "program": "objectLiteralAssignability.ts" 818 } 819 } 820 }, 821 "loc": { 822 "start": { 823 "line": 19, 824 "column": 1, 825 "program": "objectLiteralAssignability.ts" 826 }, 827 "end": { 828 "line": 19, 829 "column": 32, 830 "program": "objectLiteralAssignability.ts" 831 } 832 } 833 }, 834 "loc": { 835 "start": { 836 "line": 19, 837 "column": 1, 838 "program": "objectLiteralAssignability.ts" 839 }, 840 "end": { 841 "line": 19, 842 "column": 33, 843 "program": "objectLiteralAssignability.ts" 844 } 845 } 846 }, 847 { 848 "type": "VariableDeclaration", 849 "declarations": [ 850 { 851 "type": "VariableDeclarator", 852 "id": { 853 "type": "Identifier", 854 "name": "obj3", 855 "typeAnnotation": { 856 "type": "TSTypeLiteral", 857 "members": [], 858 "loc": { 859 "start": { 860 "line": 21, 861 "column": 11, 862 "program": "objectLiteralAssignability.ts" 863 }, 864 "end": { 865 "line": 21, 866 "column": 13, 867 "program": "objectLiteralAssignability.ts" 868 } 869 } 870 }, 871 "decorators": [], 872 "loc": { 873 "start": { 874 "line": 21, 875 "column": 5, 876 "program": "objectLiteralAssignability.ts" 877 }, 878 "end": { 879 "line": 21, 880 "column": 9, 881 "program": "objectLiteralAssignability.ts" 882 } 883 } 884 }, 885 "init": { 886 "type": "ObjectExpression", 887 "properties": [], 888 "loc": { 889 "start": { 890 "line": 21, 891 "column": 16, 892 "program": "objectLiteralAssignability.ts" 893 }, 894 "end": { 895 "line": 21, 896 "column": 18, 897 "program": "objectLiteralAssignability.ts" 898 } 899 } 900 }, 901 "loc": { 902 "start": { 903 "line": 21, 904 "column": 5, 905 "program": "objectLiteralAssignability.ts" 906 }, 907 "end": { 908 "line": 21, 909 "column": 18, 910 "program": "objectLiteralAssignability.ts" 911 } 912 } 913 } 914 ], 915 "kind": "var", 916 "loc": { 917 "start": { 918 "line": 21, 919 "column": 1, 920 "program": "objectLiteralAssignability.ts" 921 }, 922 "end": { 923 "line": 21, 924 "column": 19, 925 "program": "objectLiteralAssignability.ts" 926 } 927 } 928 }, 929 { 930 "type": "VariableDeclaration", 931 "declarations": [ 932 { 933 "type": "VariableDeclarator", 934 "id": { 935 "type": "Identifier", 936 "name": "obj4", 937 "typeAnnotation": { 938 "type": "TSTypeLiteral", 939 "members": [ 940 { 941 "type": "TSPropertySignature", 942 "computed": false, 943 "optional": false, 944 "readonly": false, 945 "key": { 946 "type": "Identifier", 947 "name": "a", 948 "decorators": [], 949 "loc": { 950 "start": { 951 "line": 22, 952 "column": 13, 953 "program": "objectLiteralAssignability.ts" 954 }, 955 "end": { 956 "line": 22, 957 "column": 14, 958 "program": "objectLiteralAssignability.ts" 959 } 960 } 961 }, 962 "typeAnnotation": { 963 "type": "TSTypeQuery", 964 "exprName": { 965 "type": "Identifier", 966 "name": "obj3", 967 "decorators": [], 968 "loc": { 969 "start": { 970 "line": 22, 971 "column": 23, 972 "program": "objectLiteralAssignability.ts" 973 }, 974 "end": { 975 "line": 22, 976 "column": 27, 977 "program": "objectLiteralAssignability.ts" 978 } 979 } 980 }, 981 "loc": { 982 "start": { 983 "line": 22, 984 "column": 16, 985 "program": "objectLiteralAssignability.ts" 986 }, 987 "end": { 988 "line": 22, 989 "column": 27, 990 "program": "objectLiteralAssignability.ts" 991 } 992 } 993 }, 994 "loc": { 995 "start": { 996 "line": 22, 997 "column": 13, 998 "program": "objectLiteralAssignability.ts" 999 }, 1000 "end": { 1001 "line": 22, 1002 "column": 28, 1003 "program": "objectLiteralAssignability.ts" 1004 } 1005 } 1006 }, 1007 { 1008 "type": "TSPropertySignature", 1009 "computed": false, 1010 "optional": true, 1011 "readonly": false, 1012 "key": { 1013 "type": "Identifier", 1014 "name": "b", 1015 "decorators": [], 1016 "loc": { 1017 "start": { 1018 "line": 22, 1019 "column": 29, 1020 "program": "objectLiteralAssignability.ts" 1021 }, 1022 "end": { 1023 "line": 22, 1024 "column": 30, 1025 "program": "objectLiteralAssignability.ts" 1026 } 1027 } 1028 }, 1029 "typeAnnotation": { 1030 "type": "TSTypeLiteral", 1031 "members": [ 1032 { 1033 "type": "TSPropertySignature", 1034 "computed": false, 1035 "optional": false, 1036 "readonly": false, 1037 "key": { 1038 "type": "Identifier", 1039 "name": "a", 1040 "decorators": [], 1041 "loc": { 1042 "start": { 1043 "line": 22, 1044 "column": 35, 1045 "program": "objectLiteralAssignability.ts" 1046 }, 1047 "end": { 1048 "line": 22, 1049 "column": 36, 1050 "program": "objectLiteralAssignability.ts" 1051 } 1052 } 1053 }, 1054 "typeAnnotation": { 1055 "type": "TSNumberKeyword", 1056 "loc": { 1057 "start": { 1058 "line": 22, 1059 "column": 38, 1060 "program": "objectLiteralAssignability.ts" 1061 }, 1062 "end": { 1063 "line": 22, 1064 "column": 44, 1065 "program": "objectLiteralAssignability.ts" 1066 } 1067 } 1068 }, 1069 "loc": { 1070 "start": { 1071 "line": 22, 1072 "column": 35, 1073 "program": "objectLiteralAssignability.ts" 1074 }, 1075 "end": { 1076 "line": 22, 1077 "column": 45, 1078 "program": "objectLiteralAssignability.ts" 1079 } 1080 } 1081 }, 1082 { 1083 "type": "TSPropertySignature", 1084 "computed": false, 1085 "optional": true, 1086 "readonly": false, 1087 "key": { 1088 "type": "Identifier", 1089 "name": "b", 1090 "decorators": [], 1091 "loc": { 1092 "start": { 1093 "line": 22, 1094 "column": 46, 1095 "program": "objectLiteralAssignability.ts" 1096 }, 1097 "end": { 1098 "line": 22, 1099 "column": 47, 1100 "program": "objectLiteralAssignability.ts" 1101 } 1102 } 1103 }, 1104 "typeAnnotation": { 1105 "type": "TSStringKeyword", 1106 "loc": { 1107 "start": { 1108 "line": 22, 1109 "column": 50, 1110 "program": "objectLiteralAssignability.ts" 1111 }, 1112 "end": { 1113 "line": 22, 1114 "column": 56, 1115 "program": "objectLiteralAssignability.ts" 1116 } 1117 } 1118 }, 1119 "loc": { 1120 "start": { 1121 "line": 22, 1122 "column": 46, 1123 "program": "objectLiteralAssignability.ts" 1124 }, 1125 "end": { 1126 "line": 22, 1127 "column": 58, 1128 "program": "objectLiteralAssignability.ts" 1129 } 1130 } 1131 } 1132 ], 1133 "loc": { 1134 "start": { 1135 "line": 22, 1136 "column": 33, 1137 "program": "objectLiteralAssignability.ts" 1138 }, 1139 "end": { 1140 "line": 22, 1141 "column": 58, 1142 "program": "objectLiteralAssignability.ts" 1143 } 1144 } 1145 }, 1146 "loc": { 1147 "start": { 1148 "line": 22, 1149 "column": 29, 1150 "program": "objectLiteralAssignability.ts" 1151 }, 1152 "end": { 1153 "line": 22, 1154 "column": 60, 1155 "program": "objectLiteralAssignability.ts" 1156 } 1157 } 1158 } 1159 ], 1160 "loc": { 1161 "start": { 1162 "line": 22, 1163 "column": 11, 1164 "program": "objectLiteralAssignability.ts" 1165 }, 1166 "end": { 1167 "line": 22, 1168 "column": 60, 1169 "program": "objectLiteralAssignability.ts" 1170 } 1171 } 1172 }, 1173 "decorators": [], 1174 "loc": { 1175 "start": { 1176 "line": 22, 1177 "column": 5, 1178 "program": "objectLiteralAssignability.ts" 1179 }, 1180 "end": { 1181 "line": 22, 1182 "column": 9, 1183 "program": "objectLiteralAssignability.ts" 1184 } 1185 } 1186 }, 1187 "init": { 1188 "type": "ObjectExpression", 1189 "properties": [ 1190 { 1191 "type": "Property", 1192 "method": false, 1193 "shorthand": false, 1194 "computed": false, 1195 "key": { 1196 "type": "Identifier", 1197 "name": "a", 1198 "decorators": [], 1199 "loc": { 1200 "start": { 1201 "line": 22, 1202 "column": 65, 1203 "program": "objectLiteralAssignability.ts" 1204 }, 1205 "end": { 1206 "line": 22, 1207 "column": 66, 1208 "program": "objectLiteralAssignability.ts" 1209 } 1210 } 1211 }, 1212 "value": { 1213 "type": "ObjectExpression", 1214 "properties": [], 1215 "loc": { 1216 "start": { 1217 "line": 22, 1218 "column": 68, 1219 "program": "objectLiteralAssignability.ts" 1220 }, 1221 "end": { 1222 "line": 22, 1223 "column": 70, 1224 "program": "objectLiteralAssignability.ts" 1225 } 1226 } 1227 }, 1228 "kind": "init", 1229 "loc": { 1230 "start": { 1231 "line": 22, 1232 "column": 65, 1233 "program": "objectLiteralAssignability.ts" 1234 }, 1235 "end": { 1236 "line": 22, 1237 "column": 70, 1238 "program": "objectLiteralAssignability.ts" 1239 } 1240 } 1241 }, 1242 { 1243 "type": "Property", 1244 "method": false, 1245 "shorthand": false, 1246 "computed": false, 1247 "key": { 1248 "type": "Identifier", 1249 "name": "b", 1250 "decorators": [], 1251 "loc": { 1252 "start": { 1253 "line": 22, 1254 "column": 72, 1255 "program": "objectLiteralAssignability.ts" 1256 }, 1257 "end": { 1258 "line": 22, 1259 "column": 73, 1260 "program": "objectLiteralAssignability.ts" 1261 } 1262 } 1263 }, 1264 "value": { 1265 "type": "ObjectExpression", 1266 "properties": [ 1267 { 1268 "type": "Property", 1269 "method": false, 1270 "shorthand": false, 1271 "computed": false, 1272 "key": { 1273 "type": "Identifier", 1274 "name": "a", 1275 "decorators": [], 1276 "loc": { 1277 "start": { 1278 "line": 22, 1279 "column": 77, 1280 "program": "objectLiteralAssignability.ts" 1281 }, 1282 "end": { 1283 "line": 22, 1284 "column": 78, 1285 "program": "objectLiteralAssignability.ts" 1286 } 1287 } 1288 }, 1289 "value": { 1290 "type": "NumberLiteral", 1291 "value": 5, 1292 "loc": { 1293 "start": { 1294 "line": 22, 1295 "column": 80, 1296 "program": "objectLiteralAssignability.ts" 1297 }, 1298 "end": { 1299 "line": 22, 1300 "column": 81, 1301 "program": "objectLiteralAssignability.ts" 1302 } 1303 } 1304 }, 1305 "kind": "init", 1306 "loc": { 1307 "start": { 1308 "line": 22, 1309 "column": 77, 1310 "program": "objectLiteralAssignability.ts" 1311 }, 1312 "end": { 1313 "line": 22, 1314 "column": 81, 1315 "program": "objectLiteralAssignability.ts" 1316 } 1317 } 1318 } 1319 ], 1320 "loc": { 1321 "start": { 1322 "line": 22, 1323 "column": 75, 1324 "program": "objectLiteralAssignability.ts" 1325 }, 1326 "end": { 1327 "line": 22, 1328 "column": 83, 1329 "program": "objectLiteralAssignability.ts" 1330 } 1331 } 1332 }, 1333 "kind": "init", 1334 "loc": { 1335 "start": { 1336 "line": 22, 1337 "column": 72, 1338 "program": "objectLiteralAssignability.ts" 1339 }, 1340 "end": { 1341 "line": 22, 1342 "column": 83, 1343 "program": "objectLiteralAssignability.ts" 1344 } 1345 } 1346 } 1347 ], 1348 "loc": { 1349 "start": { 1350 "line": 22, 1351 "column": 63, 1352 "program": "objectLiteralAssignability.ts" 1353 }, 1354 "end": { 1355 "line": 22, 1356 "column": 85, 1357 "program": "objectLiteralAssignability.ts" 1358 } 1359 } 1360 }, 1361 "loc": { 1362 "start": { 1363 "line": 22, 1364 "column": 5, 1365 "program": "objectLiteralAssignability.ts" 1366 }, 1367 "end": { 1368 "line": 22, 1369 "column": 85, 1370 "program": "objectLiteralAssignability.ts" 1371 } 1372 } 1373 } 1374 ], 1375 "kind": "var", 1376 "loc": { 1377 "start": { 1378 "line": 22, 1379 "column": 1, 1380 "program": "objectLiteralAssignability.ts" 1381 }, 1382 "end": { 1383 "line": 22, 1384 "column": 86, 1385 "program": "objectLiteralAssignability.ts" 1386 } 1387 } 1388 }, 1389 { 1390 "type": "ExpressionStatement", 1391 "expression": { 1392 "type": "AssignmentExpression", 1393 "operator": "=", 1394 "left": { 1395 "type": "Identifier", 1396 "name": "obj4", 1397 "decorators": [], 1398 "loc": { 1399 "start": { 1400 "line": 23, 1401 "column": 1, 1402 "program": "objectLiteralAssignability.ts" 1403 }, 1404 "end": { 1405 "line": 23, 1406 "column": 5, 1407 "program": "objectLiteralAssignability.ts" 1408 } 1409 } 1410 }, 1411 "right": { 1412 "type": "ObjectExpression", 1413 "properties": [ 1414 { 1415 "type": "Property", 1416 "method": false, 1417 "shorthand": false, 1418 "computed": false, 1419 "key": { 1420 "type": "Identifier", 1421 "name": "a", 1422 "decorators": [], 1423 "loc": { 1424 "start": { 1425 "line": 23, 1426 "column": 10, 1427 "program": "objectLiteralAssignability.ts" 1428 }, 1429 "end": { 1430 "line": 23, 1431 "column": 11, 1432 "program": "objectLiteralAssignability.ts" 1433 } 1434 } 1435 }, 1436 "value": { 1437 "type": "ObjectExpression", 1438 "properties": [], 1439 "loc": { 1440 "start": { 1441 "line": 23, 1442 "column": 13, 1443 "program": "objectLiteralAssignability.ts" 1444 }, 1445 "end": { 1446 "line": 23, 1447 "column": 15, 1448 "program": "objectLiteralAssignability.ts" 1449 } 1450 } 1451 }, 1452 "kind": "init", 1453 "loc": { 1454 "start": { 1455 "line": 23, 1456 "column": 10, 1457 "program": "objectLiteralAssignability.ts" 1458 }, 1459 "end": { 1460 "line": 23, 1461 "column": 15, 1462 "program": "objectLiteralAssignability.ts" 1463 } 1464 } 1465 }, 1466 { 1467 "type": "Property", 1468 "method": false, 1469 "shorthand": false, 1470 "computed": false, 1471 "key": { 1472 "type": "Identifier", 1473 "name": "b", 1474 "decorators": [], 1475 "loc": { 1476 "start": { 1477 "line": 23, 1478 "column": 17, 1479 "program": "objectLiteralAssignability.ts" 1480 }, 1481 "end": { 1482 "line": 23, 1483 "column": 18, 1484 "program": "objectLiteralAssignability.ts" 1485 } 1486 } 1487 }, 1488 "value": { 1489 "type": "ObjectExpression", 1490 "properties": [ 1491 { 1492 "type": "Property", 1493 "method": false, 1494 "shorthand": false, 1495 "computed": false, 1496 "key": { 1497 "type": "Identifier", 1498 "name": "a", 1499 "decorators": [], 1500 "loc": { 1501 "start": { 1502 "line": 23, 1503 "column": 22, 1504 "program": "objectLiteralAssignability.ts" 1505 }, 1506 "end": { 1507 "line": 23, 1508 "column": 23, 1509 "program": "objectLiteralAssignability.ts" 1510 } 1511 } 1512 }, 1513 "value": { 1514 "type": "NumberLiteral", 1515 "value": 5, 1516 "loc": { 1517 "start": { 1518 "line": 23, 1519 "column": 25, 1520 "program": "objectLiteralAssignability.ts" 1521 }, 1522 "end": { 1523 "line": 23, 1524 "column": 26, 1525 "program": "objectLiteralAssignability.ts" 1526 } 1527 } 1528 }, 1529 "kind": "init", 1530 "loc": { 1531 "start": { 1532 "line": 23, 1533 "column": 22, 1534 "program": "objectLiteralAssignability.ts" 1535 }, 1536 "end": { 1537 "line": 23, 1538 "column": 26, 1539 "program": "objectLiteralAssignability.ts" 1540 } 1541 } 1542 }, 1543 { 1544 "type": "Property", 1545 "method": false, 1546 "shorthand": false, 1547 "computed": false, 1548 "key": { 1549 "type": "Identifier", 1550 "name": "b", 1551 "decorators": [], 1552 "loc": { 1553 "start": { 1554 "line": 23, 1555 "column": 28, 1556 "program": "objectLiteralAssignability.ts" 1557 }, 1558 "end": { 1559 "line": 23, 1560 "column": 29, 1561 "program": "objectLiteralAssignability.ts" 1562 } 1563 } 1564 }, 1565 "value": { 1566 "type": "StringLiteral", 1567 "value": "foo", 1568 "loc": { 1569 "start": { 1570 "line": 23, 1571 "column": 31, 1572 "program": "objectLiteralAssignability.ts" 1573 }, 1574 "end": { 1575 "line": 23, 1576 "column": 36, 1577 "program": "objectLiteralAssignability.ts" 1578 } 1579 } 1580 }, 1581 "kind": "init", 1582 "loc": { 1583 "start": { 1584 "line": 23, 1585 "column": 28, 1586 "program": "objectLiteralAssignability.ts" 1587 }, 1588 "end": { 1589 "line": 23, 1590 "column": 36, 1591 "program": "objectLiteralAssignability.ts" 1592 } 1593 } 1594 } 1595 ], 1596 "loc": { 1597 "start": { 1598 "line": 23, 1599 "column": 20, 1600 "program": "objectLiteralAssignability.ts" 1601 }, 1602 "end": { 1603 "line": 23, 1604 "column": 38, 1605 "program": "objectLiteralAssignability.ts" 1606 } 1607 } 1608 }, 1609 "kind": "init", 1610 "loc": { 1611 "start": { 1612 "line": 23, 1613 "column": 17, 1614 "program": "objectLiteralAssignability.ts" 1615 }, 1616 "end": { 1617 "line": 23, 1618 "column": 38, 1619 "program": "objectLiteralAssignability.ts" 1620 } 1621 } 1622 } 1623 ], 1624 "loc": { 1625 "start": { 1626 "line": 23, 1627 "column": 8, 1628 "program": "objectLiteralAssignability.ts" 1629 }, 1630 "end": { 1631 "line": 23, 1632 "column": 40, 1633 "program": "objectLiteralAssignability.ts" 1634 } 1635 } 1636 }, 1637 "loc": { 1638 "start": { 1639 "line": 23, 1640 "column": 1, 1641 "program": "objectLiteralAssignability.ts" 1642 }, 1643 "end": { 1644 "line": 23, 1645 "column": 40, 1646 "program": "objectLiteralAssignability.ts" 1647 } 1648 } 1649 }, 1650 "loc": { 1651 "start": { 1652 "line": 23, 1653 "column": 1, 1654 "program": "objectLiteralAssignability.ts" 1655 }, 1656 "end": { 1657 "line": 23, 1658 "column": 41, 1659 "program": "objectLiteralAssignability.ts" 1660 } 1661 } 1662 }, 1663 { 1664 "type": "ExpressionStatement", 1665 "expression": { 1666 "type": "AssignmentExpression", 1667 "operator": "=", 1668 "left": { 1669 "type": "Identifier", 1670 "name": "obj4", 1671 "decorators": [], 1672 "loc": { 1673 "start": { 1674 "line": 24, 1675 "column": 1, 1676 "program": "objectLiteralAssignability.ts" 1677 }, 1678 "end": { 1679 "line": 24, 1680 "column": 5, 1681 "program": "objectLiteralAssignability.ts" 1682 } 1683 } 1684 }, 1685 "right": { 1686 "type": "ObjectExpression", 1687 "properties": [ 1688 { 1689 "type": "Property", 1690 "method": false, 1691 "shorthand": false, 1692 "computed": false, 1693 "key": { 1694 "type": "Identifier", 1695 "name": "a", 1696 "decorators": [], 1697 "loc": { 1698 "start": { 1699 "line": 24, 1700 "column": 10, 1701 "program": "objectLiteralAssignability.ts" 1702 }, 1703 "end": { 1704 "line": 24, 1705 "column": 11, 1706 "program": "objectLiteralAssignability.ts" 1707 } 1708 } 1709 }, 1710 "value": { 1711 "type": "ObjectExpression", 1712 "properties": [], 1713 "loc": { 1714 "start": { 1715 "line": 24, 1716 "column": 13, 1717 "program": "objectLiteralAssignability.ts" 1718 }, 1719 "end": { 1720 "line": 24, 1721 "column": 15, 1722 "program": "objectLiteralAssignability.ts" 1723 } 1724 } 1725 }, 1726 "kind": "init", 1727 "loc": { 1728 "start": { 1729 "line": 24, 1730 "column": 10, 1731 "program": "objectLiteralAssignability.ts" 1732 }, 1733 "end": { 1734 "line": 24, 1735 "column": 15, 1736 "program": "objectLiteralAssignability.ts" 1737 } 1738 } 1739 } 1740 ], 1741 "loc": { 1742 "start": { 1743 "line": 24, 1744 "column": 8, 1745 "program": "objectLiteralAssignability.ts" 1746 }, 1747 "end": { 1748 "line": 24, 1749 "column": 17, 1750 "program": "objectLiteralAssignability.ts" 1751 } 1752 } 1753 }, 1754 "loc": { 1755 "start": { 1756 "line": 24, 1757 "column": 1, 1758 "program": "objectLiteralAssignability.ts" 1759 }, 1760 "end": { 1761 "line": 24, 1762 "column": 17, 1763 "program": "objectLiteralAssignability.ts" 1764 } 1765 } 1766 }, 1767 "loc": { 1768 "start": { 1769 "line": 24, 1770 "column": 1, 1771 "program": "objectLiteralAssignability.ts" 1772 }, 1773 "end": { 1774 "line": 24, 1775 "column": 18, 1776 "program": "objectLiteralAssignability.ts" 1777 } 1778 } 1779 }, 1780 { 1781 "type": "VariableDeclaration", 1782 "declarations": [ 1783 { 1784 "type": "VariableDeclarator", 1785 "id": { 1786 "type": "Identifier", 1787 "name": "obj5", 1788 "typeAnnotation": { 1789 "type": "TSTypeLiteral", 1790 "members": [ 1791 { 1792 "type": "TSPropertySignature", 1793 "computed": false, 1794 "optional": false, 1795 "readonly": false, 1796 "key": { 1797 "type": "Identifier", 1798 "name": "a", 1799 "decorators": [], 1800 "loc": { 1801 "start": { 1802 "line": 26, 1803 "column": 13, 1804 "program": "objectLiteralAssignability.ts" 1805 }, 1806 "end": { 1807 "line": 26, 1808 "column": 14, 1809 "program": "objectLiteralAssignability.ts" 1810 } 1811 } 1812 }, 1813 "typeAnnotation": { 1814 "type": "TSTypeLiteral", 1815 "members": [ 1816 { 1817 "type": "TSPropertySignature", 1818 "computed": false, 1819 "optional": false, 1820 "readonly": false, 1821 "key": { 1822 "type": "Identifier", 1823 "name": "a", 1824 "decorators": [], 1825 "loc": { 1826 "start": { 1827 "line": 26, 1828 "column": 18, 1829 "program": "objectLiteralAssignability.ts" 1830 }, 1831 "end": { 1832 "line": 26, 1833 "column": 19, 1834 "program": "objectLiteralAssignability.ts" 1835 } 1836 } 1837 }, 1838 "typeAnnotation": { 1839 "type": "TSNumberKeyword", 1840 "loc": { 1841 "start": { 1842 "line": 26, 1843 "column": 21, 1844 "program": "objectLiteralAssignability.ts" 1845 }, 1846 "end": { 1847 "line": 26, 1848 "column": 27, 1849 "program": "objectLiteralAssignability.ts" 1850 } 1851 } 1852 }, 1853 "loc": { 1854 "start": { 1855 "line": 26, 1856 "column": 18, 1857 "program": "objectLiteralAssignability.ts" 1858 }, 1859 "end": { 1860 "line": 26, 1861 "column": 28, 1862 "program": "objectLiteralAssignability.ts" 1863 } 1864 } 1865 }, 1866 { 1867 "type": "TSPropertySignature", 1868 "computed": false, 1869 "optional": false, 1870 "readonly": false, 1871 "key": { 1872 "type": "Identifier", 1873 "name": "b", 1874 "decorators": [], 1875 "loc": { 1876 "start": { 1877 "line": 26, 1878 "column": 29, 1879 "program": "objectLiteralAssignability.ts" 1880 }, 1881 "end": { 1882 "line": 26, 1883 "column": 30, 1884 "program": "objectLiteralAssignability.ts" 1885 } 1886 } 1887 }, 1888 "typeAnnotation": { 1889 "type": "TSStringKeyword", 1890 "loc": { 1891 "start": { 1892 "line": 26, 1893 "column": 32, 1894 "program": "objectLiteralAssignability.ts" 1895 }, 1896 "end": { 1897 "line": 26, 1898 "column": 38, 1899 "program": "objectLiteralAssignability.ts" 1900 } 1901 } 1902 }, 1903 "loc": { 1904 "start": { 1905 "line": 26, 1906 "column": 29, 1907 "program": "objectLiteralAssignability.ts" 1908 }, 1909 "end": { 1910 "line": 26, 1911 "column": 40, 1912 "program": "objectLiteralAssignability.ts" 1913 } 1914 } 1915 } 1916 ], 1917 "loc": { 1918 "start": { 1919 "line": 26, 1920 "column": 16, 1921 "program": "objectLiteralAssignability.ts" 1922 }, 1923 "end": { 1924 "line": 26, 1925 "column": 40, 1926 "program": "objectLiteralAssignability.ts" 1927 } 1928 } 1929 }, 1930 "loc": { 1931 "start": { 1932 "line": 26, 1933 "column": 13, 1934 "program": "objectLiteralAssignability.ts" 1935 }, 1936 "end": { 1937 "line": 26, 1938 "column": 41, 1939 "program": "objectLiteralAssignability.ts" 1940 } 1941 } 1942 }, 1943 { 1944 "type": "TSPropertySignature", 1945 "computed": false, 1946 "optional": false, 1947 "readonly": false, 1948 "key": { 1949 "type": "Identifier", 1950 "name": "b", 1951 "decorators": [], 1952 "loc": { 1953 "start": { 1954 "line": 26, 1955 "column": 42, 1956 "program": "objectLiteralAssignability.ts" 1957 }, 1958 "end": { 1959 "line": 26, 1960 "column": 43, 1961 "program": "objectLiteralAssignability.ts" 1962 } 1963 } 1964 }, 1965 "typeAnnotation": { 1966 "type": "TSTypeLiteral", 1967 "members": [ 1968 { 1969 "type": "TSPropertySignature", 1970 "computed": false, 1971 "optional": false, 1972 "readonly": false, 1973 "key": { 1974 "type": "Identifier", 1975 "name": "a", 1976 "decorators": [], 1977 "loc": { 1978 "start": { 1979 "line": 26, 1980 "column": 47, 1981 "program": "objectLiteralAssignability.ts" 1982 }, 1983 "end": { 1984 "line": 26, 1985 "column": 48, 1986 "program": "objectLiteralAssignability.ts" 1987 } 1988 } 1989 }, 1990 "typeAnnotation": { 1991 "type": "TSBooleanKeyword", 1992 "loc": { 1993 "start": { 1994 "line": 26, 1995 "column": 50, 1996 "program": "objectLiteralAssignability.ts" 1997 }, 1998 "end": { 1999 "line": 26, 2000 "column": 57, 2001 "program": "objectLiteralAssignability.ts" 2002 } 2003 } 2004 }, 2005 "loc": { 2006 "start": { 2007 "line": 26, 2008 "column": 47, 2009 "program": "objectLiteralAssignability.ts" 2010 }, 2011 "end": { 2012 "line": 26, 2013 "column": 59, 2014 "program": "objectLiteralAssignability.ts" 2015 } 2016 } 2017 } 2018 ], 2019 "loc": { 2020 "start": { 2021 "line": 26, 2022 "column": 45, 2023 "program": "objectLiteralAssignability.ts" 2024 }, 2025 "end": { 2026 "line": 26, 2027 "column": 59, 2028 "program": "objectLiteralAssignability.ts" 2029 } 2030 } 2031 }, 2032 "loc": { 2033 "start": { 2034 "line": 26, 2035 "column": 42, 2036 "program": "objectLiteralAssignability.ts" 2037 }, 2038 "end": { 2039 "line": 26, 2040 "column": 61, 2041 "program": "objectLiteralAssignability.ts" 2042 } 2043 } 2044 } 2045 ], 2046 "loc": { 2047 "start": { 2048 "line": 26, 2049 "column": 11, 2050 "program": "objectLiteralAssignability.ts" 2051 }, 2052 "end": { 2053 "line": 26, 2054 "column": 61, 2055 "program": "objectLiteralAssignability.ts" 2056 } 2057 } 2058 }, 2059 "decorators": [], 2060 "loc": { 2061 "start": { 2062 "line": 26, 2063 "column": 5, 2064 "program": "objectLiteralAssignability.ts" 2065 }, 2066 "end": { 2067 "line": 26, 2068 "column": 9, 2069 "program": "objectLiteralAssignability.ts" 2070 } 2071 } 2072 }, 2073 "init": { 2074 "type": "ObjectExpression", 2075 "properties": [ 2076 { 2077 "type": "Property", 2078 "method": false, 2079 "shorthand": false, 2080 "computed": false, 2081 "key": { 2082 "type": "Identifier", 2083 "name": "a", 2084 "decorators": [], 2085 "loc": { 2086 "start": { 2087 "line": 26, 2088 "column": 66, 2089 "program": "objectLiteralAssignability.ts" 2090 }, 2091 "end": { 2092 "line": 26, 2093 "column": 67, 2094 "program": "objectLiteralAssignability.ts" 2095 } 2096 } 2097 }, 2098 "value": { 2099 "type": "ObjectExpression", 2100 "properties": [ 2101 { 2102 "type": "Property", 2103 "method": false, 2104 "shorthand": false, 2105 "computed": false, 2106 "key": { 2107 "type": "Identifier", 2108 "name": "a", 2109 "decorators": [], 2110 "loc": { 2111 "start": { 2112 "line": 26, 2113 "column": 71, 2114 "program": "objectLiteralAssignability.ts" 2115 }, 2116 "end": { 2117 "line": 26, 2118 "column": 72, 2119 "program": "objectLiteralAssignability.ts" 2120 } 2121 } 2122 }, 2123 "value": { 2124 "type": "NumberLiteral", 2125 "value": 5, 2126 "loc": { 2127 "start": { 2128 "line": 26, 2129 "column": 74, 2130 "program": "objectLiteralAssignability.ts" 2131 }, 2132 "end": { 2133 "line": 26, 2134 "column": 75, 2135 "program": "objectLiteralAssignability.ts" 2136 } 2137 } 2138 }, 2139 "kind": "init", 2140 "loc": { 2141 "start": { 2142 "line": 26, 2143 "column": 71, 2144 "program": "objectLiteralAssignability.ts" 2145 }, 2146 "end": { 2147 "line": 26, 2148 "column": 75, 2149 "program": "objectLiteralAssignability.ts" 2150 } 2151 } 2152 }, 2153 { 2154 "type": "Property", 2155 "method": false, 2156 "shorthand": false, 2157 "computed": false, 2158 "key": { 2159 "type": "Identifier", 2160 "name": "b", 2161 "decorators": [], 2162 "loc": { 2163 "start": { 2164 "line": 26, 2165 "column": 77, 2166 "program": "objectLiteralAssignability.ts" 2167 }, 2168 "end": { 2169 "line": 26, 2170 "column": 78, 2171 "program": "objectLiteralAssignability.ts" 2172 } 2173 } 2174 }, 2175 "value": { 2176 "type": "StringLiteral", 2177 "value": "foo", 2178 "loc": { 2179 "start": { 2180 "line": 26, 2181 "column": 80, 2182 "program": "objectLiteralAssignability.ts" 2183 }, 2184 "end": { 2185 "line": 26, 2186 "column": 85, 2187 "program": "objectLiteralAssignability.ts" 2188 } 2189 } 2190 }, 2191 "kind": "init", 2192 "loc": { 2193 "start": { 2194 "line": 26, 2195 "column": 77, 2196 "program": "objectLiteralAssignability.ts" 2197 }, 2198 "end": { 2199 "line": 26, 2200 "column": 85, 2201 "program": "objectLiteralAssignability.ts" 2202 } 2203 } 2204 } 2205 ], 2206 "loc": { 2207 "start": { 2208 "line": 26, 2209 "column": 69, 2210 "program": "objectLiteralAssignability.ts" 2211 }, 2212 "end": { 2213 "line": 26, 2214 "column": 87, 2215 "program": "objectLiteralAssignability.ts" 2216 } 2217 } 2218 }, 2219 "kind": "init", 2220 "loc": { 2221 "start": { 2222 "line": 26, 2223 "column": 66, 2224 "program": "objectLiteralAssignability.ts" 2225 }, 2226 "end": { 2227 "line": 26, 2228 "column": 87, 2229 "program": "objectLiteralAssignability.ts" 2230 } 2231 } 2232 }, 2233 { 2234 "type": "Property", 2235 "method": false, 2236 "shorthand": false, 2237 "computed": false, 2238 "key": { 2239 "type": "Identifier", 2240 "name": "b", 2241 "decorators": [], 2242 "loc": { 2243 "start": { 2244 "line": 26, 2245 "column": 89, 2246 "program": "objectLiteralAssignability.ts" 2247 }, 2248 "end": { 2249 "line": 26, 2250 "column": 90, 2251 "program": "objectLiteralAssignability.ts" 2252 } 2253 } 2254 }, 2255 "value": { 2256 "type": "ObjectExpression", 2257 "properties": [ 2258 { 2259 "type": "Property", 2260 "method": false, 2261 "shorthand": false, 2262 "computed": false, 2263 "key": { 2264 "type": "Identifier", 2265 "name": "a", 2266 "decorators": [], 2267 "loc": { 2268 "start": { 2269 "line": 26, 2270 "column": 94, 2271 "program": "objectLiteralAssignability.ts" 2272 }, 2273 "end": { 2274 "line": 26, 2275 "column": 95, 2276 "program": "objectLiteralAssignability.ts" 2277 } 2278 } 2279 }, 2280 "value": { 2281 "type": "BooleanLiteral", 2282 "value": true, 2283 "loc": { 2284 "start": { 2285 "line": 26, 2286 "column": 97, 2287 "program": "objectLiteralAssignability.ts" 2288 }, 2289 "end": { 2290 "line": 26, 2291 "column": 101, 2292 "program": "objectLiteralAssignability.ts" 2293 } 2294 } 2295 }, 2296 "kind": "init", 2297 "loc": { 2298 "start": { 2299 "line": 26, 2300 "column": 94, 2301 "program": "objectLiteralAssignability.ts" 2302 }, 2303 "end": { 2304 "line": 26, 2305 "column": 101, 2306 "program": "objectLiteralAssignability.ts" 2307 } 2308 } 2309 } 2310 ], 2311 "loc": { 2312 "start": { 2313 "line": 26, 2314 "column": 92, 2315 "program": "objectLiteralAssignability.ts" 2316 }, 2317 "end": { 2318 "line": 26, 2319 "column": 103, 2320 "program": "objectLiteralAssignability.ts" 2321 } 2322 } 2323 }, 2324 "kind": "init", 2325 "loc": { 2326 "start": { 2327 "line": 26, 2328 "column": 89, 2329 "program": "objectLiteralAssignability.ts" 2330 }, 2331 "end": { 2332 "line": 26, 2333 "column": 103, 2334 "program": "objectLiteralAssignability.ts" 2335 } 2336 } 2337 } 2338 ], 2339 "loc": { 2340 "start": { 2341 "line": 26, 2342 "column": 64, 2343 "program": "objectLiteralAssignability.ts" 2344 }, 2345 "end": { 2346 "line": 26, 2347 "column": 105, 2348 "program": "objectLiteralAssignability.ts" 2349 } 2350 } 2351 }, 2352 "loc": { 2353 "start": { 2354 "line": 26, 2355 "column": 5, 2356 "program": "objectLiteralAssignability.ts" 2357 }, 2358 "end": { 2359 "line": 26, 2360 "column": 105, 2361 "program": "objectLiteralAssignability.ts" 2362 } 2363 } 2364 } 2365 ], 2366 "kind": "var", 2367 "loc": { 2368 "start": { 2369 "line": 26, 2370 "column": 1, 2371 "program": "objectLiteralAssignability.ts" 2372 }, 2373 "end": { 2374 "line": 26, 2375 "column": 106, 2376 "program": "objectLiteralAssignability.ts" 2377 } 2378 } 2379 }, 2380 { 2381 "type": "VariableDeclaration", 2382 "declarations": [ 2383 { 2384 "type": "VariableDeclarator", 2385 "id": { 2386 "type": "Identifier", 2387 "name": "obj6", 2388 "typeAnnotation": { 2389 "type": "TSTypeLiteral", 2390 "members": [ 2391 { 2392 "type": "TSMethodSignature", 2393 "computed": false, 2394 "optional": false, 2395 "key": { 2396 "type": "Identifier", 2397 "name": "a", 2398 "decorators": [], 2399 "loc": { 2400 "start": { 2401 "line": 27, 2402 "column": 13, 2403 "program": "objectLiteralAssignability.ts" 2404 }, 2405 "end": { 2406 "line": 27, 2407 "column": 14, 2408 "program": "objectLiteralAssignability.ts" 2409 } 2410 } 2411 }, 2412 "params": [ 2413 { 2414 "type": "Identifier", 2415 "name": "a", 2416 "typeAnnotation": { 2417 "type": "TSNumberKeyword", 2418 "loc": { 2419 "start": { 2420 "line": 27, 2421 "column": 18, 2422 "program": "objectLiteralAssignability.ts" 2423 }, 2424 "end": { 2425 "line": 27, 2426 "column": 24, 2427 "program": "objectLiteralAssignability.ts" 2428 } 2429 } 2430 }, 2431 "decorators": [], 2432 "loc": { 2433 "start": { 2434 "line": 27, 2435 "column": 15, 2436 "program": "objectLiteralAssignability.ts" 2437 }, 2438 "end": { 2439 "line": 27, 2440 "column": 16, 2441 "program": "objectLiteralAssignability.ts" 2442 } 2443 } 2444 }, 2445 { 2446 "type": "Identifier", 2447 "name": "b", 2448 "typeAnnotation": { 2449 "type": "TSStringKeyword", 2450 "loc": { 2451 "start": { 2452 "line": 27, 2453 "column": 29, 2454 "program": "objectLiteralAssignability.ts" 2455 }, 2456 "end": { 2457 "line": 27, 2458 "column": 35, 2459 "program": "objectLiteralAssignability.ts" 2460 } 2461 } 2462 }, 2463 "decorators": [], 2464 "loc": { 2465 "start": { 2466 "line": 27, 2467 "column": 26, 2468 "program": "objectLiteralAssignability.ts" 2469 }, 2470 "end": { 2471 "line": 27, 2472 "column": 27, 2473 "program": "objectLiteralAssignability.ts" 2474 } 2475 } 2476 } 2477 ], 2478 "typeAnnotation": { 2479 "type": "TSNumberKeyword", 2480 "loc": { 2481 "start": { 2482 "line": 27, 2483 "column": 38, 2484 "program": "objectLiteralAssignability.ts" 2485 }, 2486 "end": { 2487 "line": 27, 2488 "column": 44, 2489 "program": "objectLiteralAssignability.ts" 2490 } 2491 } 2492 }, 2493 "loc": { 2494 "start": { 2495 "line": 27, 2496 "column": 13, 2497 "program": "objectLiteralAssignability.ts" 2498 }, 2499 "end": { 2500 "line": 27, 2501 "column": 45, 2502 "program": "objectLiteralAssignability.ts" 2503 } 2504 } 2505 }, 2506 { 2507 "type": "TSMethodSignature", 2508 "computed": false, 2509 "optional": false, 2510 "key": { 2511 "type": "Identifier", 2512 "name": "b", 2513 "decorators": [], 2514 "loc": { 2515 "start": { 2516 "line": 27, 2517 "column": 46, 2518 "program": "objectLiteralAssignability.ts" 2519 }, 2520 "end": { 2521 "line": 27, 2522 "column": 47, 2523 "program": "objectLiteralAssignability.ts" 2524 } 2525 } 2526 }, 2527 "params": [], 2528 "typeAnnotation": { 2529 "type": "TSBooleanKeyword", 2530 "loc": { 2531 "start": { 2532 "line": 27, 2533 "column": 51, 2534 "program": "objectLiteralAssignability.ts" 2535 }, 2536 "end": { 2537 "line": 27, 2538 "column": 58, 2539 "program": "objectLiteralAssignability.ts" 2540 } 2541 } 2542 }, 2543 "loc": { 2544 "start": { 2545 "line": 27, 2546 "column": 46, 2547 "program": "objectLiteralAssignability.ts" 2548 }, 2549 "end": { 2550 "line": 27, 2551 "column": 60, 2552 "program": "objectLiteralAssignability.ts" 2553 } 2554 } 2555 } 2556 ], 2557 "loc": { 2558 "start": { 2559 "line": 27, 2560 "column": 11, 2561 "program": "objectLiteralAssignability.ts" 2562 }, 2563 "end": { 2564 "line": 27, 2565 "column": 60, 2566 "program": "objectLiteralAssignability.ts" 2567 } 2568 } 2569 }, 2570 "decorators": [], 2571 "loc": { 2572 "start": { 2573 "line": 27, 2574 "column": 5, 2575 "program": "objectLiteralAssignability.ts" 2576 }, 2577 "end": { 2578 "line": 27, 2579 "column": 9, 2580 "program": "objectLiteralAssignability.ts" 2581 } 2582 } 2583 }, 2584 "init": null, 2585 "loc": { 2586 "start": { 2587 "line": 27, 2588 "column": 5, 2589 "program": "objectLiteralAssignability.ts" 2590 }, 2591 "end": { 2592 "line": 27, 2593 "column": 9, 2594 "program": "objectLiteralAssignability.ts" 2595 } 2596 } 2597 } 2598 ], 2599 "kind": "var", 2600 "loc": { 2601 "start": { 2602 "line": 27, 2603 "column": 1, 2604 "program": "objectLiteralAssignability.ts" 2605 }, 2606 "end": { 2607 "line": 27, 2608 "column": 61, 2609 "program": "objectLiteralAssignability.ts" 2610 } 2611 } 2612 }, 2613 { 2614 "type": "ExpressionStatement", 2615 "expression": { 2616 "type": "AssignmentExpression", 2617 "operator": "=", 2618 "left": { 2619 "type": "Identifier", 2620 "name": "obj6", 2621 "decorators": [], 2622 "loc": { 2623 "start": { 2624 "line": 28, 2625 "column": 1, 2626 "program": "objectLiteralAssignability.ts" 2627 }, 2628 "end": { 2629 "line": 28, 2630 "column": 5, 2631 "program": "objectLiteralAssignability.ts" 2632 } 2633 } 2634 }, 2635 "right": { 2636 "type": "ObjectExpression", 2637 "properties": [ 2638 { 2639 "type": "Property", 2640 "method": false, 2641 "shorthand": false, 2642 "computed": false, 2643 "key": { 2644 "type": "Identifier", 2645 "name": "a", 2646 "decorators": [], 2647 "loc": { 2648 "start": { 2649 "line": 28, 2650 "column": 10, 2651 "program": "objectLiteralAssignability.ts" 2652 }, 2653 "end": { 2654 "line": 28, 2655 "column": 11, 2656 "program": "objectLiteralAssignability.ts" 2657 } 2658 } 2659 }, 2660 "value": { 2661 "type": "FunctionExpression", 2662 "function": { 2663 "type": "ScriptFunction", 2664 "id": null, 2665 "generator": false, 2666 "async": false, 2667 "expression": false, 2668 "params": [ 2669 { 2670 "type": "Identifier", 2671 "name": "a", 2672 "typeAnnotation": { 2673 "type": "TSNumberKeyword", 2674 "loc": { 2675 "start": { 2676 "line": 28, 2677 "column": 26, 2678 "program": "objectLiteralAssignability.ts" 2679 }, 2680 "end": { 2681 "line": 28, 2682 "column": 32, 2683 "program": "objectLiteralAssignability.ts" 2684 } 2685 } 2686 }, 2687 "decorators": [], 2688 "loc": { 2689 "start": { 2690 "line": 28, 2691 "column": 23, 2692 "program": "objectLiteralAssignability.ts" 2693 }, 2694 "end": { 2695 "line": 28, 2696 "column": 24, 2697 "program": "objectLiteralAssignability.ts" 2698 } 2699 } 2700 }, 2701 { 2702 "type": "Identifier", 2703 "name": "b", 2704 "typeAnnotation": { 2705 "type": "TSStringKeyword", 2706 "loc": { 2707 "start": { 2708 "line": 28, 2709 "column": 37, 2710 "program": "objectLiteralAssignability.ts" 2711 }, 2712 "end": { 2713 "line": 28, 2714 "column": 43, 2715 "program": "objectLiteralAssignability.ts" 2716 } 2717 } 2718 }, 2719 "decorators": [], 2720 "loc": { 2721 "start": { 2722 "line": 28, 2723 "column": 34, 2724 "program": "objectLiteralAssignability.ts" 2725 }, 2726 "end": { 2727 "line": 28, 2728 "column": 35, 2729 "program": "objectLiteralAssignability.ts" 2730 } 2731 } 2732 } 2733 ], 2734 "returnType": { 2735 "type": "TSNumberKeyword", 2736 "loc": { 2737 "start": { 2738 "line": 28, 2739 "column": 46, 2740 "program": "objectLiteralAssignability.ts" 2741 }, 2742 "end": { 2743 "line": 28, 2744 "column": 52, 2745 "program": "objectLiteralAssignability.ts" 2746 } 2747 } 2748 }, 2749 "body": { 2750 "type": "BlockStatement", 2751 "statements": [ 2752 { 2753 "type": "ReturnStatement", 2754 "argument": { 2755 "type": "NumberLiteral", 2756 "value": 12, 2757 "loc": { 2758 "start": { 2759 "line": 28, 2760 "column": 62, 2761 "program": "objectLiteralAssignability.ts" 2762 }, 2763 "end": { 2764 "line": 28, 2765 "column": 64, 2766 "program": "objectLiteralAssignability.ts" 2767 } 2768 } 2769 }, 2770 "loc": { 2771 "start": { 2772 "line": 28, 2773 "column": 55, 2774 "program": "objectLiteralAssignability.ts" 2775 }, 2776 "end": { 2777 "line": 28, 2778 "column": 65, 2779 "program": "objectLiteralAssignability.ts" 2780 } 2781 } 2782 } 2783 ], 2784 "loc": { 2785 "start": { 2786 "line": 28, 2787 "column": 53, 2788 "program": "objectLiteralAssignability.ts" 2789 }, 2790 "end": { 2791 "line": 28, 2792 "column": 67, 2793 "program": "objectLiteralAssignability.ts" 2794 } 2795 } 2796 }, 2797 "loc": { 2798 "start": { 2799 "line": 28, 2800 "column": 13, 2801 "program": "objectLiteralAssignability.ts" 2802 }, 2803 "end": { 2804 "line": 28, 2805 "column": 67, 2806 "program": "objectLiteralAssignability.ts" 2807 } 2808 } 2809 }, 2810 "loc": { 2811 "start": { 2812 "line": 28, 2813 "column": 13, 2814 "program": "objectLiteralAssignability.ts" 2815 }, 2816 "end": { 2817 "line": 28, 2818 "column": 67, 2819 "program": "objectLiteralAssignability.ts" 2820 } 2821 } 2822 }, 2823 "kind": "init", 2824 "loc": { 2825 "start": { 2826 "line": 28, 2827 "column": 10, 2828 "program": "objectLiteralAssignability.ts" 2829 }, 2830 "end": { 2831 "line": 28, 2832 "column": 67, 2833 "program": "objectLiteralAssignability.ts" 2834 } 2835 } 2836 }, 2837 { 2838 "type": "Property", 2839 "method": false, 2840 "shorthand": false, 2841 "computed": false, 2842 "key": { 2843 "type": "Identifier", 2844 "name": "b", 2845 "decorators": [], 2846 "loc": { 2847 "start": { 2848 "line": 28, 2849 "column": 69, 2850 "program": "objectLiteralAssignability.ts" 2851 }, 2852 "end": { 2853 "line": 28, 2854 "column": 70, 2855 "program": "objectLiteralAssignability.ts" 2856 } 2857 } 2858 }, 2859 "value": { 2860 "type": "FunctionExpression", 2861 "function": { 2862 "type": "ScriptFunction", 2863 "id": null, 2864 "generator": false, 2865 "async": false, 2866 "expression": false, 2867 "params": [], 2868 "body": { 2869 "type": "BlockStatement", 2870 "statements": [ 2871 { 2872 "type": "ReturnStatement", 2873 "argument": { 2874 "type": "BooleanLiteral", 2875 "value": true, 2876 "loc": { 2877 "start": { 2878 "line": 28, 2879 "column": 93, 2880 "program": "objectLiteralAssignability.ts" 2881 }, 2882 "end": { 2883 "line": 28, 2884 "column": 97, 2885 "program": "objectLiteralAssignability.ts" 2886 } 2887 } 2888 }, 2889 "loc": { 2890 "start": { 2891 "line": 28, 2892 "column": 86, 2893 "program": "objectLiteralAssignability.ts" 2894 }, 2895 "end": { 2896 "line": 28, 2897 "column": 97, 2898 "program": "objectLiteralAssignability.ts" 2899 } 2900 } 2901 } 2902 ], 2903 "loc": { 2904 "start": { 2905 "line": 28, 2906 "column": 84, 2907 "program": "objectLiteralAssignability.ts" 2908 }, 2909 "end": { 2910 "line": 28, 2911 "column": 99, 2912 "program": "objectLiteralAssignability.ts" 2913 } 2914 } 2915 }, 2916 "loc": { 2917 "start": { 2918 "line": 28, 2919 "column": 72, 2920 "program": "objectLiteralAssignability.ts" 2921 }, 2922 "end": { 2923 "line": 28, 2924 "column": 99, 2925 "program": "objectLiteralAssignability.ts" 2926 } 2927 } 2928 }, 2929 "loc": { 2930 "start": { 2931 "line": 28, 2932 "column": 72, 2933 "program": "objectLiteralAssignability.ts" 2934 }, 2935 "end": { 2936 "line": 28, 2937 "column": 99, 2938 "program": "objectLiteralAssignability.ts" 2939 } 2940 } 2941 }, 2942 "kind": "init", 2943 "loc": { 2944 "start": { 2945 "line": 28, 2946 "column": 69, 2947 "program": "objectLiteralAssignability.ts" 2948 }, 2949 "end": { 2950 "line": 28, 2951 "column": 99, 2952 "program": "objectLiteralAssignability.ts" 2953 } 2954 } 2955 } 2956 ], 2957 "loc": { 2958 "start": { 2959 "line": 28, 2960 "column": 8, 2961 "program": "objectLiteralAssignability.ts" 2962 }, 2963 "end": { 2964 "line": 28, 2965 "column": 101, 2966 "program": "objectLiteralAssignability.ts" 2967 } 2968 } 2969 }, 2970 "loc": { 2971 "start": { 2972 "line": 28, 2973 "column": 1, 2974 "program": "objectLiteralAssignability.ts" 2975 }, 2976 "end": { 2977 "line": 28, 2978 "column": 101, 2979 "program": "objectLiteralAssignability.ts" 2980 } 2981 } 2982 }, 2983 "loc": { 2984 "start": { 2985 "line": 28, 2986 "column": 1, 2987 "program": "objectLiteralAssignability.ts" 2988 }, 2989 "end": { 2990 "line": 28, 2991 "column": 102, 2992 "program": "objectLiteralAssignability.ts" 2993 } 2994 } 2995 }, 2996 { 2997 "type": "VariableDeclaration", 2998 "declarations": [ 2999 { 3000 "type": "VariableDeclarator", 3001 "id": { 3002 "type": "Identifier", 3003 "name": "obj7", 3004 "typeAnnotation": { 3005 "type": "TSUnionType", 3006 "types": [ 3007 { 3008 "type": "TSTypeLiteral", 3009 "members": [], 3010 "loc": { 3011 "start": { 3012 "line": 30, 3013 "column": 11, 3014 "program": "objectLiteralAssignability.ts" 3015 }, 3016 "end": { 3017 "line": 30, 3018 "column": 13, 3019 "program": "objectLiteralAssignability.ts" 3020 } 3021 } 3022 }, 3023 { 3024 "type": "TSTypeLiteral", 3025 "members": [ 3026 { 3027 "type": "TSPropertySignature", 3028 "computed": false, 3029 "optional": false, 3030 "readonly": false, 3031 "key": { 3032 "type": "Identifier", 3033 "name": "a", 3034 "decorators": [], 3035 "loc": { 3036 "start": { 3037 "line": 30, 3038 "column": 18, 3039 "program": "objectLiteralAssignability.ts" 3040 }, 3041 "end": { 3042 "line": 30, 3043 "column": 19, 3044 "program": "objectLiteralAssignability.ts" 3045 } 3046 } 3047 }, 3048 "typeAnnotation": { 3049 "type": "TSNumberKeyword", 3050 "loc": { 3051 "start": { 3052 "line": 30, 3053 "column": 21, 3054 "program": "objectLiteralAssignability.ts" 3055 }, 3056 "end": { 3057 "line": 30, 3058 "column": 27, 3059 "program": "objectLiteralAssignability.ts" 3060 } 3061 } 3062 }, 3063 "loc": { 3064 "start": { 3065 "line": 30, 3066 "column": 18, 3067 "program": "objectLiteralAssignability.ts" 3068 }, 3069 "end": { 3070 "line": 30, 3071 "column": 29, 3072 "program": "objectLiteralAssignability.ts" 3073 } 3074 } 3075 } 3076 ], 3077 "loc": { 3078 "start": { 3079 "line": 30, 3080 "column": 16, 3081 "program": "objectLiteralAssignability.ts" 3082 }, 3083 "end": { 3084 "line": 30, 3085 "column": 29, 3086 "program": "objectLiteralAssignability.ts" 3087 } 3088 } 3089 }, 3090 { 3091 "type": "TSTypeLiteral", 3092 "members": [ 3093 { 3094 "type": "TSPropertySignature", 3095 "computed": false, 3096 "optional": false, 3097 "readonly": false, 3098 "key": { 3099 "type": "Identifier", 3100 "name": "a", 3101 "decorators": [], 3102 "loc": { 3103 "start": { 3104 "line": 30, 3105 "column": 34, 3106 "program": "objectLiteralAssignability.ts" 3107 }, 3108 "end": { 3109 "line": 30, 3110 "column": 35, 3111 "program": "objectLiteralAssignability.ts" 3112 } 3113 } 3114 }, 3115 "typeAnnotation": { 3116 "type": "TSStringKeyword", 3117 "loc": { 3118 "start": { 3119 "line": 30, 3120 "column": 37, 3121 "program": "objectLiteralAssignability.ts" 3122 }, 3123 "end": { 3124 "line": 30, 3125 "column": 43, 3126 "program": "objectLiteralAssignability.ts" 3127 } 3128 } 3129 }, 3130 "loc": { 3131 "start": { 3132 "line": 30, 3133 "column": 34, 3134 "program": "objectLiteralAssignability.ts" 3135 }, 3136 "end": { 3137 "line": 30, 3138 "column": 44, 3139 "program": "objectLiteralAssignability.ts" 3140 } 3141 } 3142 }, 3143 { 3144 "type": "TSPropertySignature", 3145 "computed": false, 3146 "optional": false, 3147 "readonly": false, 3148 "key": { 3149 "type": "Identifier", 3150 "name": "b", 3151 "decorators": [], 3152 "loc": { 3153 "start": { 3154 "line": 30, 3155 "column": 45, 3156 "program": "objectLiteralAssignability.ts" 3157 }, 3158 "end": { 3159 "line": 30, 3160 "column": 46, 3161 "program": "objectLiteralAssignability.ts" 3162 } 3163 } 3164 }, 3165 "typeAnnotation": { 3166 "type": "TSNumberKeyword", 3167 "loc": { 3168 "start": { 3169 "line": 30, 3170 "column": 48, 3171 "program": "objectLiteralAssignability.ts" 3172 }, 3173 "end": { 3174 "line": 30, 3175 "column": 54, 3176 "program": "objectLiteralAssignability.ts" 3177 } 3178 } 3179 }, 3180 "loc": { 3181 "start": { 3182 "line": 30, 3183 "column": 45, 3184 "program": "objectLiteralAssignability.ts" 3185 }, 3186 "end": { 3187 "line": 30, 3188 "column": 56, 3189 "program": "objectLiteralAssignability.ts" 3190 } 3191 } 3192 } 3193 ], 3194 "loc": { 3195 "start": { 3196 "line": 30, 3197 "column": 32, 3198 "program": "objectLiteralAssignability.ts" 3199 }, 3200 "end": { 3201 "line": 30, 3202 "column": 56, 3203 "program": "objectLiteralAssignability.ts" 3204 } 3205 } 3206 }, 3207 { 3208 "type": "TSTypeLiteral", 3209 "members": [ 3210 { 3211 "type": "TSPropertySignature", 3212 "computed": false, 3213 "optional": false, 3214 "readonly": false, 3215 "key": { 3216 "type": "Identifier", 3217 "name": "a", 3218 "decorators": [], 3219 "loc": { 3220 "start": { 3221 "line": 30, 3222 "column": 61, 3223 "program": "objectLiteralAssignability.ts" 3224 }, 3225 "end": { 3226 "line": 30, 3227 "column": 62, 3228 "program": "objectLiteralAssignability.ts" 3229 } 3230 } 3231 }, 3232 "typeAnnotation": { 3233 "type": "TSBooleanKeyword", 3234 "loc": { 3235 "start": { 3236 "line": 30, 3237 "column": 64, 3238 "program": "objectLiteralAssignability.ts" 3239 }, 3240 "end": { 3241 "line": 30, 3242 "column": 71, 3243 "program": "objectLiteralAssignability.ts" 3244 } 3245 } 3246 }, 3247 "loc": { 3248 "start": { 3249 "line": 30, 3250 "column": 61, 3251 "program": "objectLiteralAssignability.ts" 3252 }, 3253 "end": { 3254 "line": 30, 3255 "column": 72, 3256 "program": "objectLiteralAssignability.ts" 3257 } 3258 } 3259 }, 3260 { 3261 "type": "TSPropertySignature", 3262 "computed": false, 3263 "optional": false, 3264 "readonly": false, 3265 "key": { 3266 "type": "Identifier", 3267 "name": "b", 3268 "decorators": [], 3269 "loc": { 3270 "start": { 3271 "line": 30, 3272 "column": 73, 3273 "program": "objectLiteralAssignability.ts" 3274 }, 3275 "end": { 3276 "line": 30, 3277 "column": 74, 3278 "program": "objectLiteralAssignability.ts" 3279 } 3280 } 3281 }, 3282 "typeAnnotation": { 3283 "type": "TSStringKeyword", 3284 "loc": { 3285 "start": { 3286 "line": 30, 3287 "column": 76, 3288 "program": "objectLiteralAssignability.ts" 3289 }, 3290 "end": { 3291 "line": 30, 3292 "column": 82, 3293 "program": "objectLiteralAssignability.ts" 3294 } 3295 } 3296 }, 3297 "loc": { 3298 "start": { 3299 "line": 30, 3300 "column": 73, 3301 "program": "objectLiteralAssignability.ts" 3302 }, 3303 "end": { 3304 "line": 30, 3305 "column": 83, 3306 "program": "objectLiteralAssignability.ts" 3307 } 3308 } 3309 }, 3310 { 3311 "type": "TSPropertySignature", 3312 "computed": false, 3313 "optional": false, 3314 "readonly": false, 3315 "key": { 3316 "type": "Identifier", 3317 "name": "c", 3318 "decorators": [], 3319 "loc": { 3320 "start": { 3321 "line": 30, 3322 "column": 84, 3323 "program": "objectLiteralAssignability.ts" 3324 }, 3325 "end": { 3326 "line": 30, 3327 "column": 85, 3328 "program": "objectLiteralAssignability.ts" 3329 } 3330 } 3331 }, 3332 "typeAnnotation": { 3333 "type": "TSNumberKeyword", 3334 "loc": { 3335 "start": { 3336 "line": 30, 3337 "column": 87, 3338 "program": "objectLiteralAssignability.ts" 3339 }, 3340 "end": { 3341 "line": 30, 3342 "column": 93, 3343 "program": "objectLiteralAssignability.ts" 3344 } 3345 } 3346 }, 3347 "loc": { 3348 "start": { 3349 "line": 30, 3350 "column": 84, 3351 "program": "objectLiteralAssignability.ts" 3352 }, 3353 "end": { 3354 "line": 30, 3355 "column": 95, 3356 "program": "objectLiteralAssignability.ts" 3357 } 3358 } 3359 } 3360 ], 3361 "loc": { 3362 "start": { 3363 "line": 30, 3364 "column": 59, 3365 "program": "objectLiteralAssignability.ts" 3366 }, 3367 "end": { 3368 "line": 30, 3369 "column": 95, 3370 "program": "objectLiteralAssignability.ts" 3371 } 3372 } 3373 } 3374 ], 3375 "loc": { 3376 "start": { 3377 "line": 30, 3378 "column": 11, 3379 "program": "objectLiteralAssignability.ts" 3380 }, 3381 "end": { 3382 "line": 30, 3383 "column": 95, 3384 "program": "objectLiteralAssignability.ts" 3385 } 3386 } 3387 }, 3388 "decorators": [], 3389 "loc": { 3390 "start": { 3391 "line": 30, 3392 "column": 5, 3393 "program": "objectLiteralAssignability.ts" 3394 }, 3395 "end": { 3396 "line": 30, 3397 "column": 9, 3398 "program": "objectLiteralAssignability.ts" 3399 } 3400 } 3401 }, 3402 "init": null, 3403 "loc": { 3404 "start": { 3405 "line": 30, 3406 "column": 5, 3407 "program": "objectLiteralAssignability.ts" 3408 }, 3409 "end": { 3410 "line": 30, 3411 "column": 9, 3412 "program": "objectLiteralAssignability.ts" 3413 } 3414 } 3415 } 3416 ], 3417 "kind": "var", 3418 "loc": { 3419 "start": { 3420 "line": 30, 3421 "column": 1, 3422 "program": "objectLiteralAssignability.ts" 3423 }, 3424 "end": { 3425 "line": 30, 3426 "column": 96, 3427 "program": "objectLiteralAssignability.ts" 3428 } 3429 } 3430 }, 3431 { 3432 "type": "ExpressionStatement", 3433 "expression": { 3434 "type": "AssignmentExpression", 3435 "operator": "=", 3436 "left": { 3437 "type": "Identifier", 3438 "name": "obj7", 3439 "decorators": [], 3440 "loc": { 3441 "start": { 3442 "line": 31, 3443 "column": 1, 3444 "program": "objectLiteralAssignability.ts" 3445 }, 3446 "end": { 3447 "line": 31, 3448 "column": 5, 3449 "program": "objectLiteralAssignability.ts" 3450 } 3451 } 3452 }, 3453 "right": { 3454 "type": "ObjectExpression", 3455 "properties": [], 3456 "loc": { 3457 "start": { 3458 "line": 31, 3459 "column": 8, 3460 "program": "objectLiteralAssignability.ts" 3461 }, 3462 "end": { 3463 "line": 31, 3464 "column": 10, 3465 "program": "objectLiteralAssignability.ts" 3466 } 3467 } 3468 }, 3469 "loc": { 3470 "start": { 3471 "line": 31, 3472 "column": 1, 3473 "program": "objectLiteralAssignability.ts" 3474 }, 3475 "end": { 3476 "line": 31, 3477 "column": 10, 3478 "program": "objectLiteralAssignability.ts" 3479 } 3480 } 3481 }, 3482 "loc": { 3483 "start": { 3484 "line": 31, 3485 "column": 1, 3486 "program": "objectLiteralAssignability.ts" 3487 }, 3488 "end": { 3489 "line": 31, 3490 "column": 11, 3491 "program": "objectLiteralAssignability.ts" 3492 } 3493 } 3494 }, 3495 { 3496 "type": "ExpressionStatement", 3497 "expression": { 3498 "type": "AssignmentExpression", 3499 "operator": "=", 3500 "left": { 3501 "type": "Identifier", 3502 "name": "obj7", 3503 "decorators": [], 3504 "loc": { 3505 "start": { 3506 "line": 32, 3507 "column": 1, 3508 "program": "objectLiteralAssignability.ts" 3509 }, 3510 "end": { 3511 "line": 32, 3512 "column": 5, 3513 "program": "objectLiteralAssignability.ts" 3514 } 3515 } 3516 }, 3517 "right": { 3518 "type": "ObjectExpression", 3519 "properties": [ 3520 { 3521 "type": "Property", 3522 "method": false, 3523 "shorthand": false, 3524 "computed": false, 3525 "key": { 3526 "type": "Identifier", 3527 "name": "a", 3528 "decorators": [], 3529 "loc": { 3530 "start": { 3531 "line": 32, 3532 "column": 10, 3533 "program": "objectLiteralAssignability.ts" 3534 }, 3535 "end": { 3536 "line": 32, 3537 "column": 11, 3538 "program": "objectLiteralAssignability.ts" 3539 } 3540 } 3541 }, 3542 "value": { 3543 "type": "NumberLiteral", 3544 "value": 5, 3545 "loc": { 3546 "start": { 3547 "line": 32, 3548 "column": 13, 3549 "program": "objectLiteralAssignability.ts" 3550 }, 3551 "end": { 3552 "line": 32, 3553 "column": 14, 3554 "program": "objectLiteralAssignability.ts" 3555 } 3556 } 3557 }, 3558 "kind": "init", 3559 "loc": { 3560 "start": { 3561 "line": 32, 3562 "column": 10, 3563 "program": "objectLiteralAssignability.ts" 3564 }, 3565 "end": { 3566 "line": 32, 3567 "column": 14, 3568 "program": "objectLiteralAssignability.ts" 3569 } 3570 } 3571 } 3572 ], 3573 "loc": { 3574 "start": { 3575 "line": 32, 3576 "column": 8, 3577 "program": "objectLiteralAssignability.ts" 3578 }, 3579 "end": { 3580 "line": 32, 3581 "column": 16, 3582 "program": "objectLiteralAssignability.ts" 3583 } 3584 } 3585 }, 3586 "loc": { 3587 "start": { 3588 "line": 32, 3589 "column": 1, 3590 "program": "objectLiteralAssignability.ts" 3591 }, 3592 "end": { 3593 "line": 32, 3594 "column": 16, 3595 "program": "objectLiteralAssignability.ts" 3596 } 3597 } 3598 }, 3599 "loc": { 3600 "start": { 3601 "line": 32, 3602 "column": 1, 3603 "program": "objectLiteralAssignability.ts" 3604 }, 3605 "end": { 3606 "line": 32, 3607 "column": 17, 3608 "program": "objectLiteralAssignability.ts" 3609 } 3610 } 3611 }, 3612 { 3613 "type": "ExpressionStatement", 3614 "expression": { 3615 "type": "AssignmentExpression", 3616 "operator": "=", 3617 "left": { 3618 "type": "Identifier", 3619 "name": "obj7", 3620 "decorators": [], 3621 "loc": { 3622 "start": { 3623 "line": 33, 3624 "column": 1, 3625 "program": "objectLiteralAssignability.ts" 3626 }, 3627 "end": { 3628 "line": 33, 3629 "column": 5, 3630 "program": "objectLiteralAssignability.ts" 3631 } 3632 } 3633 }, 3634 "right": { 3635 "type": "ObjectExpression", 3636 "properties": [ 3637 { 3638 "type": "Property", 3639 "method": false, 3640 "shorthand": false, 3641 "computed": false, 3642 "key": { 3643 "type": "Identifier", 3644 "name": "a", 3645 "decorators": [], 3646 "loc": { 3647 "start": { 3648 "line": 33, 3649 "column": 10, 3650 "program": "objectLiteralAssignability.ts" 3651 }, 3652 "end": { 3653 "line": 33, 3654 "column": 11, 3655 "program": "objectLiteralAssignability.ts" 3656 } 3657 } 3658 }, 3659 "value": { 3660 "type": "StringLiteral", 3661 "value": "foo", 3662 "loc": { 3663 "start": { 3664 "line": 33, 3665 "column": 13, 3666 "program": "objectLiteralAssignability.ts" 3667 }, 3668 "end": { 3669 "line": 33, 3670 "column": 18, 3671 "program": "objectLiteralAssignability.ts" 3672 } 3673 } 3674 }, 3675 "kind": "init", 3676 "loc": { 3677 "start": { 3678 "line": 33, 3679 "column": 10, 3680 "program": "objectLiteralAssignability.ts" 3681 }, 3682 "end": { 3683 "line": 33, 3684 "column": 18, 3685 "program": "objectLiteralAssignability.ts" 3686 } 3687 } 3688 }, 3689 { 3690 "type": "Property", 3691 "method": false, 3692 "shorthand": false, 3693 "computed": false, 3694 "key": { 3695 "type": "Identifier", 3696 "name": "b", 3697 "decorators": [], 3698 "loc": { 3699 "start": { 3700 "line": 33, 3701 "column": 20, 3702 "program": "objectLiteralAssignability.ts" 3703 }, 3704 "end": { 3705 "line": 33, 3706 "column": 21, 3707 "program": "objectLiteralAssignability.ts" 3708 } 3709 } 3710 }, 3711 "value": { 3712 "type": "NumberLiteral", 3713 "value": 5, 3714 "loc": { 3715 "start": { 3716 "line": 33, 3717 "column": 23, 3718 "program": "objectLiteralAssignability.ts" 3719 }, 3720 "end": { 3721 "line": 33, 3722 "column": 24, 3723 "program": "objectLiteralAssignability.ts" 3724 } 3725 } 3726 }, 3727 "kind": "init", 3728 "loc": { 3729 "start": { 3730 "line": 33, 3731 "column": 20, 3732 "program": "objectLiteralAssignability.ts" 3733 }, 3734 "end": { 3735 "line": 33, 3736 "column": 24, 3737 "program": "objectLiteralAssignability.ts" 3738 } 3739 } 3740 } 3741 ], 3742 "loc": { 3743 "start": { 3744 "line": 33, 3745 "column": 8, 3746 "program": "objectLiteralAssignability.ts" 3747 }, 3748 "end": { 3749 "line": 33, 3750 "column": 26, 3751 "program": "objectLiteralAssignability.ts" 3752 } 3753 } 3754 }, 3755 "loc": { 3756 "start": { 3757 "line": 33, 3758 "column": 1, 3759 "program": "objectLiteralAssignability.ts" 3760 }, 3761 "end": { 3762 "line": 33, 3763 "column": 26, 3764 "program": "objectLiteralAssignability.ts" 3765 } 3766 } 3767 }, 3768 "loc": { 3769 "start": { 3770 "line": 33, 3771 "column": 1, 3772 "program": "objectLiteralAssignability.ts" 3773 }, 3774 "end": { 3775 "line": 33, 3776 "column": 27, 3777 "program": "objectLiteralAssignability.ts" 3778 } 3779 } 3780 }, 3781 { 3782 "type": "ExpressionStatement", 3783 "expression": { 3784 "type": "AssignmentExpression", 3785 "operator": "=", 3786 "left": { 3787 "type": "Identifier", 3788 "name": "obj7", 3789 "decorators": [], 3790 "loc": { 3791 "start": { 3792 "line": 34, 3793 "column": 1, 3794 "program": "objectLiteralAssignability.ts" 3795 }, 3796 "end": { 3797 "line": 34, 3798 "column": 5, 3799 "program": "objectLiteralAssignability.ts" 3800 } 3801 } 3802 }, 3803 "right": { 3804 "type": "ObjectExpression", 3805 "properties": [ 3806 { 3807 "type": "Property", 3808 "method": false, 3809 "shorthand": false, 3810 "computed": false, 3811 "key": { 3812 "type": "Identifier", 3813 "name": "a", 3814 "decorators": [], 3815 "loc": { 3816 "start": { 3817 "line": 34, 3818 "column": 10, 3819 "program": "objectLiteralAssignability.ts" 3820 }, 3821 "end": { 3822 "line": 34, 3823 "column": 11, 3824 "program": "objectLiteralAssignability.ts" 3825 } 3826 } 3827 }, 3828 "value": { 3829 "type": "BooleanLiteral", 3830 "value": true, 3831 "loc": { 3832 "start": { 3833 "line": 34, 3834 "column": 13, 3835 "program": "objectLiteralAssignability.ts" 3836 }, 3837 "end": { 3838 "line": 34, 3839 "column": 17, 3840 "program": "objectLiteralAssignability.ts" 3841 } 3842 } 3843 }, 3844 "kind": "init", 3845 "loc": { 3846 "start": { 3847 "line": 34, 3848 "column": 10, 3849 "program": "objectLiteralAssignability.ts" 3850 }, 3851 "end": { 3852 "line": 34, 3853 "column": 17, 3854 "program": "objectLiteralAssignability.ts" 3855 } 3856 } 3857 }, 3858 { 3859 "type": "Property", 3860 "method": false, 3861 "shorthand": false, 3862 "computed": false, 3863 "key": { 3864 "type": "Identifier", 3865 "name": "b", 3866 "decorators": [], 3867 "loc": { 3868 "start": { 3869 "line": 34, 3870 "column": 19, 3871 "program": "objectLiteralAssignability.ts" 3872 }, 3873 "end": { 3874 "line": 34, 3875 "column": 20, 3876 "program": "objectLiteralAssignability.ts" 3877 } 3878 } 3879 }, 3880 "value": { 3881 "type": "StringLiteral", 3882 "value": "foo", 3883 "loc": { 3884 "start": { 3885 "line": 34, 3886 "column": 22, 3887 "program": "objectLiteralAssignability.ts" 3888 }, 3889 "end": { 3890 "line": 34, 3891 "column": 27, 3892 "program": "objectLiteralAssignability.ts" 3893 } 3894 } 3895 }, 3896 "kind": "init", 3897 "loc": { 3898 "start": { 3899 "line": 34, 3900 "column": 19, 3901 "program": "objectLiteralAssignability.ts" 3902 }, 3903 "end": { 3904 "line": 34, 3905 "column": 27, 3906 "program": "objectLiteralAssignability.ts" 3907 } 3908 } 3909 }, 3910 { 3911 "type": "Property", 3912 "method": false, 3913 "shorthand": false, 3914 "computed": false, 3915 "key": { 3916 "type": "Identifier", 3917 "name": "c", 3918 "decorators": [], 3919 "loc": { 3920 "start": { 3921 "line": 34, 3922 "column": 29, 3923 "program": "objectLiteralAssignability.ts" 3924 }, 3925 "end": { 3926 "line": 34, 3927 "column": 30, 3928 "program": "objectLiteralAssignability.ts" 3929 } 3930 } 3931 }, 3932 "value": { 3933 "type": "NumberLiteral", 3934 "value": 5, 3935 "loc": { 3936 "start": { 3937 "line": 34, 3938 "column": 32, 3939 "program": "objectLiteralAssignability.ts" 3940 }, 3941 "end": { 3942 "line": 34, 3943 "column": 33, 3944 "program": "objectLiteralAssignability.ts" 3945 } 3946 } 3947 }, 3948 "kind": "init", 3949 "loc": { 3950 "start": { 3951 "line": 34, 3952 "column": 29, 3953 "program": "objectLiteralAssignability.ts" 3954 }, 3955 "end": { 3956 "line": 34, 3957 "column": 33, 3958 "program": "objectLiteralAssignability.ts" 3959 } 3960 } 3961 } 3962 ], 3963 "loc": { 3964 "start": { 3965 "line": 34, 3966 "column": 8, 3967 "program": "objectLiteralAssignability.ts" 3968 }, 3969 "end": { 3970 "line": 34, 3971 "column": 35, 3972 "program": "objectLiteralAssignability.ts" 3973 } 3974 } 3975 }, 3976 "loc": { 3977 "start": { 3978 "line": 34, 3979 "column": 1, 3980 "program": "objectLiteralAssignability.ts" 3981 }, 3982 "end": { 3983 "line": 34, 3984 "column": 35, 3985 "program": "objectLiteralAssignability.ts" 3986 } 3987 } 3988 }, 3989 "loc": { 3990 "start": { 3991 "line": 34, 3992 "column": 1, 3993 "program": "objectLiteralAssignability.ts" 3994 }, 3995 "end": { 3996 "line": 34, 3997 "column": 36, 3998 "program": "objectLiteralAssignability.ts" 3999 } 4000 } 4001 }, 4002 { 4003 "type": "VariableDeclaration", 4004 "declarations": [ 4005 { 4006 "type": "VariableDeclarator", 4007 "id": { 4008 "type": "Identifier", 4009 "name": "obj8", 4010 "decorators": [], 4011 "loc": { 4012 "start": { 4013 "line": 36, 4014 "column": 5, 4015 "program": "objectLiteralAssignability.ts" 4016 }, 4017 "end": { 4018 "line": 36, 4019 "column": 9, 4020 "program": "objectLiteralAssignability.ts" 4021 } 4022 } 4023 }, 4024 "init": { 4025 "type": "ObjectExpression", 4026 "properties": [ 4027 { 4028 "type": "SpreadElement", 4029 "argument": { 4030 "type": "Identifier", 4031 "name": "obj6", 4032 "decorators": [], 4033 "loc": { 4034 "start": { 4035 "line": 36, 4036 "column": 17, 4037 "program": "objectLiteralAssignability.ts" 4038 }, 4039 "end": { 4040 "line": 36, 4041 "column": 21, 4042 "program": "objectLiteralAssignability.ts" 4043 } 4044 } 4045 }, 4046 "loc": { 4047 "start": { 4048 "line": 36, 4049 "column": 14, 4050 "program": "objectLiteralAssignability.ts" 4051 }, 4052 "end": { 4053 "line": 36, 4054 "column": 21, 4055 "program": "objectLiteralAssignability.ts" 4056 } 4057 } 4058 } 4059 ], 4060 "loc": { 4061 "start": { 4062 "line": 36, 4063 "column": 12, 4064 "program": "objectLiteralAssignability.ts" 4065 }, 4066 "end": { 4067 "line": 36, 4068 "column": 23, 4069 "program": "objectLiteralAssignability.ts" 4070 } 4071 } 4072 }, 4073 "loc": { 4074 "start": { 4075 "line": 36, 4076 "column": 5, 4077 "program": "objectLiteralAssignability.ts" 4078 }, 4079 "end": { 4080 "line": 36, 4081 "column": 23, 4082 "program": "objectLiteralAssignability.ts" 4083 } 4084 } 4085 } 4086 ], 4087 "kind": "var", 4088 "loc": { 4089 "start": { 4090 "line": 36, 4091 "column": 1, 4092 "program": "objectLiteralAssignability.ts" 4093 }, 4094 "end": { 4095 "line": 36, 4096 "column": 24, 4097 "program": "objectLiteralAssignability.ts" 4098 } 4099 } 4100 }, 4101 { 4102 "type": "ExpressionStatement", 4103 "expression": { 4104 "type": "AssignmentExpression", 4105 "operator": "=", 4106 "left": { 4107 "type": "Identifier", 4108 "name": "obj8", 4109 "decorators": [], 4110 "loc": { 4111 "start": { 4112 "line": 37, 4113 "column": 1, 4114 "program": "objectLiteralAssignability.ts" 4115 }, 4116 "end": { 4117 "line": 37, 4118 "column": 5, 4119 "program": "objectLiteralAssignability.ts" 4120 } 4121 } 4122 }, 4123 "right": { 4124 "type": "Identifier", 4125 "name": "obj6", 4126 "decorators": [], 4127 "loc": { 4128 "start": { 4129 "line": 37, 4130 "column": 8, 4131 "program": "objectLiteralAssignability.ts" 4132 }, 4133 "end": { 4134 "line": 37, 4135 "column": 12, 4136 "program": "objectLiteralAssignability.ts" 4137 } 4138 } 4139 }, 4140 "loc": { 4141 "start": { 4142 "line": 37, 4143 "column": 1, 4144 "program": "objectLiteralAssignability.ts" 4145 }, 4146 "end": { 4147 "line": 37, 4148 "column": 12, 4149 "program": "objectLiteralAssignability.ts" 4150 } 4151 } 4152 }, 4153 "loc": { 4154 "start": { 4155 "line": 37, 4156 "column": 1, 4157 "program": "objectLiteralAssignability.ts" 4158 }, 4159 "end": { 4160 "line": 37, 4161 "column": 13, 4162 "program": "objectLiteralAssignability.ts" 4163 } 4164 } 4165 }, 4166 { 4167 "type": "ExpressionStatement", 4168 "expression": { 4169 "type": "AssignmentExpression", 4170 "operator": "=", 4171 "left": { 4172 "type": "Identifier", 4173 "name": "obj8", 4174 "decorators": [], 4175 "loc": { 4176 "start": { 4177 "line": 38, 4178 "column": 1, 4179 "program": "objectLiteralAssignability.ts" 4180 }, 4181 "end": { 4182 "line": 38, 4183 "column": 5, 4184 "program": "objectLiteralAssignability.ts" 4185 } 4186 } 4187 }, 4188 "right": { 4189 "type": "ObjectExpression", 4190 "properties": [ 4191 { 4192 "type": "Property", 4193 "method": false, 4194 "shorthand": false, 4195 "computed": false, 4196 "key": { 4197 "type": "Identifier", 4198 "name": "a", 4199 "decorators": [], 4200 "loc": { 4201 "start": { 4202 "line": 38, 4203 "column": 10, 4204 "program": "objectLiteralAssignability.ts" 4205 }, 4206 "end": { 4207 "line": 38, 4208 "column": 11, 4209 "program": "objectLiteralAssignability.ts" 4210 } 4211 } 4212 }, 4213 "value": { 4214 "type": "FunctionExpression", 4215 "function": { 4216 "type": "ScriptFunction", 4217 "id": null, 4218 "generator": false, 4219 "async": false, 4220 "expression": false, 4221 "params": [ 4222 { 4223 "type": "Identifier", 4224 "name": "a", 4225 "typeAnnotation": { 4226 "type": "TSNumberKeyword", 4227 "loc": { 4228 "start": { 4229 "line": 38, 4230 "column": 26, 4231 "program": "objectLiteralAssignability.ts" 4232 }, 4233 "end": { 4234 "line": 38, 4235 "column": 32, 4236 "program": "objectLiteralAssignability.ts" 4237 } 4238 } 4239 }, 4240 "decorators": [], 4241 "loc": { 4242 "start": { 4243 "line": 38, 4244 "column": 23, 4245 "program": "objectLiteralAssignability.ts" 4246 }, 4247 "end": { 4248 "line": 38, 4249 "column": 24, 4250 "program": "objectLiteralAssignability.ts" 4251 } 4252 } 4253 }, 4254 { 4255 "type": "Identifier", 4256 "name": "b", 4257 "typeAnnotation": { 4258 "type": "TSStringKeyword", 4259 "loc": { 4260 "start": { 4261 "line": 38, 4262 "column": 37, 4263 "program": "objectLiteralAssignability.ts" 4264 }, 4265 "end": { 4266 "line": 38, 4267 "column": 43, 4268 "program": "objectLiteralAssignability.ts" 4269 } 4270 } 4271 }, 4272 "decorators": [], 4273 "loc": { 4274 "start": { 4275 "line": 38, 4276 "column": 34, 4277 "program": "objectLiteralAssignability.ts" 4278 }, 4279 "end": { 4280 "line": 38, 4281 "column": 35, 4282 "program": "objectLiteralAssignability.ts" 4283 } 4284 } 4285 } 4286 ], 4287 "returnType": { 4288 "type": "TSNumberKeyword", 4289 "loc": { 4290 "start": { 4291 "line": 38, 4292 "column": 46, 4293 "program": "objectLiteralAssignability.ts" 4294 }, 4295 "end": { 4296 "line": 38, 4297 "column": 52, 4298 "program": "objectLiteralAssignability.ts" 4299 } 4300 } 4301 }, 4302 "body": { 4303 "type": "BlockStatement", 4304 "statements": [ 4305 { 4306 "type": "ReturnStatement", 4307 "argument": { 4308 "type": "NumberLiteral", 4309 "value": 12, 4310 "loc": { 4311 "start": { 4312 "line": 38, 4313 "column": 62, 4314 "program": "objectLiteralAssignability.ts" 4315 }, 4316 "end": { 4317 "line": 38, 4318 "column": 64, 4319 "program": "objectLiteralAssignability.ts" 4320 } 4321 } 4322 }, 4323 "loc": { 4324 "start": { 4325 "line": 38, 4326 "column": 55, 4327 "program": "objectLiteralAssignability.ts" 4328 }, 4329 "end": { 4330 "line": 38, 4331 "column": 65, 4332 "program": "objectLiteralAssignability.ts" 4333 } 4334 } 4335 } 4336 ], 4337 "loc": { 4338 "start": { 4339 "line": 38, 4340 "column": 53, 4341 "program": "objectLiteralAssignability.ts" 4342 }, 4343 "end": { 4344 "line": 38, 4345 "column": 67, 4346 "program": "objectLiteralAssignability.ts" 4347 } 4348 } 4349 }, 4350 "loc": { 4351 "start": { 4352 "line": 38, 4353 "column": 13, 4354 "program": "objectLiteralAssignability.ts" 4355 }, 4356 "end": { 4357 "line": 38, 4358 "column": 67, 4359 "program": "objectLiteralAssignability.ts" 4360 } 4361 } 4362 }, 4363 "loc": { 4364 "start": { 4365 "line": 38, 4366 "column": 13, 4367 "program": "objectLiteralAssignability.ts" 4368 }, 4369 "end": { 4370 "line": 38, 4371 "column": 67, 4372 "program": "objectLiteralAssignability.ts" 4373 } 4374 } 4375 }, 4376 "kind": "init", 4377 "loc": { 4378 "start": { 4379 "line": 38, 4380 "column": 10, 4381 "program": "objectLiteralAssignability.ts" 4382 }, 4383 "end": { 4384 "line": 38, 4385 "column": 67, 4386 "program": "objectLiteralAssignability.ts" 4387 } 4388 } 4389 }, 4390 { 4391 "type": "Property", 4392 "method": false, 4393 "shorthand": false, 4394 "computed": false, 4395 "key": { 4396 "type": "Identifier", 4397 "name": "b", 4398 "decorators": [], 4399 "loc": { 4400 "start": { 4401 "line": 38, 4402 "column": 69, 4403 "program": "objectLiteralAssignability.ts" 4404 }, 4405 "end": { 4406 "line": 38, 4407 "column": 70, 4408 "program": "objectLiteralAssignability.ts" 4409 } 4410 } 4411 }, 4412 "value": { 4413 "type": "FunctionExpression", 4414 "function": { 4415 "type": "ScriptFunction", 4416 "id": null, 4417 "generator": false, 4418 "async": false, 4419 "expression": false, 4420 "params": [], 4421 "body": { 4422 "type": "BlockStatement", 4423 "statements": [ 4424 { 4425 "type": "ReturnStatement", 4426 "argument": { 4427 "type": "BooleanLiteral", 4428 "value": true, 4429 "loc": { 4430 "start": { 4431 "line": 38, 4432 "column": 93, 4433 "program": "objectLiteralAssignability.ts" 4434 }, 4435 "end": { 4436 "line": 38, 4437 "column": 97, 4438 "program": "objectLiteralAssignability.ts" 4439 } 4440 } 4441 }, 4442 "loc": { 4443 "start": { 4444 "line": 38, 4445 "column": 86, 4446 "program": "objectLiteralAssignability.ts" 4447 }, 4448 "end": { 4449 "line": 38, 4450 "column": 97, 4451 "program": "objectLiteralAssignability.ts" 4452 } 4453 } 4454 } 4455 ], 4456 "loc": { 4457 "start": { 4458 "line": 38, 4459 "column": 84, 4460 "program": "objectLiteralAssignability.ts" 4461 }, 4462 "end": { 4463 "line": 38, 4464 "column": 99, 4465 "program": "objectLiteralAssignability.ts" 4466 } 4467 } 4468 }, 4469 "loc": { 4470 "start": { 4471 "line": 38, 4472 "column": 72, 4473 "program": "objectLiteralAssignability.ts" 4474 }, 4475 "end": { 4476 "line": 38, 4477 "column": 99, 4478 "program": "objectLiteralAssignability.ts" 4479 } 4480 } 4481 }, 4482 "loc": { 4483 "start": { 4484 "line": 38, 4485 "column": 72, 4486 "program": "objectLiteralAssignability.ts" 4487 }, 4488 "end": { 4489 "line": 38, 4490 "column": 99, 4491 "program": "objectLiteralAssignability.ts" 4492 } 4493 } 4494 }, 4495 "kind": "init", 4496 "loc": { 4497 "start": { 4498 "line": 38, 4499 "column": 69, 4500 "program": "objectLiteralAssignability.ts" 4501 }, 4502 "end": { 4503 "line": 38, 4504 "column": 99, 4505 "program": "objectLiteralAssignability.ts" 4506 } 4507 } 4508 } 4509 ], 4510 "loc": { 4511 "start": { 4512 "line": 38, 4513 "column": 8, 4514 "program": "objectLiteralAssignability.ts" 4515 }, 4516 "end": { 4517 "line": 38, 4518 "column": 101, 4519 "program": "objectLiteralAssignability.ts" 4520 } 4521 } 4522 }, 4523 "loc": { 4524 "start": { 4525 "line": 38, 4526 "column": 1, 4527 "program": "objectLiteralAssignability.ts" 4528 }, 4529 "end": { 4530 "line": 38, 4531 "column": 101, 4532 "program": "objectLiteralAssignability.ts" 4533 } 4534 } 4535 }, 4536 "loc": { 4537 "start": { 4538 "line": 38, 4539 "column": 1, 4540 "program": "objectLiteralAssignability.ts" 4541 }, 4542 "end": { 4543 "line": 38, 4544 "column": 102, 4545 "program": "objectLiteralAssignability.ts" 4546 } 4547 } 4548 }, 4549 { 4550 "type": "VariableDeclaration", 4551 "declarations": [ 4552 { 4553 "type": "VariableDeclarator", 4554 "id": { 4555 "type": "Identifier", 4556 "name": "obj9", 4557 "typeAnnotation": { 4558 "type": "TSTypeLiteral", 4559 "members": [ 4560 { 4561 "type": "TSPropertySignature", 4562 "computed": false, 4563 "optional": false, 4564 "readonly": false, 4565 "key": { 4566 "type": "NumberLiteral", 4567 "value": 5, 4568 "loc": { 4569 "start": { 4570 "line": 40, 4571 "column": 13, 4572 "program": "objectLiteralAssignability.ts" 4573 }, 4574 "end": { 4575 "line": 40, 4576 "column": 14, 4577 "program": "objectLiteralAssignability.ts" 4578 } 4579 } 4580 }, 4581 "typeAnnotation": { 4582 "type": "TSNumberKeyword", 4583 "loc": { 4584 "start": { 4585 "line": 40, 4586 "column": 16, 4587 "program": "objectLiteralAssignability.ts" 4588 }, 4589 "end": { 4590 "line": 40, 4591 "column": 22, 4592 "program": "objectLiteralAssignability.ts" 4593 } 4594 } 4595 }, 4596 "loc": { 4597 "start": { 4598 "line": 40, 4599 "column": 13, 4600 "program": "objectLiteralAssignability.ts" 4601 }, 4602 "end": { 4603 "line": 40, 4604 "column": 23, 4605 "program": "objectLiteralAssignability.ts" 4606 } 4607 } 4608 }, 4609 { 4610 "type": "TSPropertySignature", 4611 "computed": false, 4612 "optional": false, 4613 "readonly": false, 4614 "key": { 4615 "type": "StringLiteral", 4616 "value": "foo", 4617 "loc": { 4618 "start": { 4619 "line": 40, 4620 "column": 24, 4621 "program": "objectLiteralAssignability.ts" 4622 }, 4623 "end": { 4624 "line": 40, 4625 "column": 29, 4626 "program": "objectLiteralAssignability.ts" 4627 } 4628 } 4629 }, 4630 "typeAnnotation": { 4631 "type": "TSStringKeyword", 4632 "loc": { 4633 "start": { 4634 "line": 40, 4635 "column": 31, 4636 "program": "objectLiteralAssignability.ts" 4637 }, 4638 "end": { 4639 "line": 40, 4640 "column": 37, 4641 "program": "objectLiteralAssignability.ts" 4642 } 4643 } 4644 }, 4645 "loc": { 4646 "start": { 4647 "line": 40, 4648 "column": 24, 4649 "program": "objectLiteralAssignability.ts" 4650 }, 4651 "end": { 4652 "line": 40, 4653 "column": 39, 4654 "program": "objectLiteralAssignability.ts" 4655 } 4656 } 4657 } 4658 ], 4659 "loc": { 4660 "start": { 4661 "line": 40, 4662 "column": 11, 4663 "program": "objectLiteralAssignability.ts" 4664 }, 4665 "end": { 4666 "line": 40, 4667 "column": 39, 4668 "program": "objectLiteralAssignability.ts" 4669 } 4670 } 4671 }, 4672 "decorators": [], 4673 "loc": { 4674 "start": { 4675 "line": 40, 4676 "column": 5, 4677 "program": "objectLiteralAssignability.ts" 4678 }, 4679 "end": { 4680 "line": 40, 4681 "column": 9, 4682 "program": "objectLiteralAssignability.ts" 4683 } 4684 } 4685 }, 4686 "init": { 4687 "type": "ObjectExpression", 4688 "properties": [ 4689 { 4690 "type": "Property", 4691 "method": false, 4692 "shorthand": false, 4693 "computed": false, 4694 "key": { 4695 "type": "NumberLiteral", 4696 "value": 5, 4697 "loc": { 4698 "start": { 4699 "line": 40, 4700 "column": 44, 4701 "program": "objectLiteralAssignability.ts" 4702 }, 4703 "end": { 4704 "line": 40, 4705 "column": 45, 4706 "program": "objectLiteralAssignability.ts" 4707 } 4708 } 4709 }, 4710 "value": { 4711 "type": "NumberLiteral", 4712 "value": 5, 4713 "loc": { 4714 "start": { 4715 "line": 40, 4716 "column": 47, 4717 "program": "objectLiteralAssignability.ts" 4718 }, 4719 "end": { 4720 "line": 40, 4721 "column": 48, 4722 "program": "objectLiteralAssignability.ts" 4723 } 4724 } 4725 }, 4726 "kind": "init", 4727 "loc": { 4728 "start": { 4729 "line": 40, 4730 "column": 44, 4731 "program": "objectLiteralAssignability.ts" 4732 }, 4733 "end": { 4734 "line": 40, 4735 "column": 48, 4736 "program": "objectLiteralAssignability.ts" 4737 } 4738 } 4739 }, 4740 { 4741 "type": "Property", 4742 "method": false, 4743 "shorthand": false, 4744 "computed": false, 4745 "key": { 4746 "type": "StringLiteral", 4747 "value": "foo", 4748 "loc": { 4749 "start": { 4750 "line": 40, 4751 "column": 50, 4752 "program": "objectLiteralAssignability.ts" 4753 }, 4754 "end": { 4755 "line": 40, 4756 "column": 55, 4757 "program": "objectLiteralAssignability.ts" 4758 } 4759 } 4760 }, 4761 "value": { 4762 "type": "StringLiteral", 4763 "value": "foo", 4764 "loc": { 4765 "start": { 4766 "line": 40, 4767 "column": 57, 4768 "program": "objectLiteralAssignability.ts" 4769 }, 4770 "end": { 4771 "line": 40, 4772 "column": 62, 4773 "program": "objectLiteralAssignability.ts" 4774 } 4775 } 4776 }, 4777 "kind": "init", 4778 "loc": { 4779 "start": { 4780 "line": 40, 4781 "column": 50, 4782 "program": "objectLiteralAssignability.ts" 4783 }, 4784 "end": { 4785 "line": 40, 4786 "column": 62, 4787 "program": "objectLiteralAssignability.ts" 4788 } 4789 } 4790 } 4791 ], 4792 "loc": { 4793 "start": { 4794 "line": 40, 4795 "column": 42, 4796 "program": "objectLiteralAssignability.ts" 4797 }, 4798 "end": { 4799 "line": 40, 4800 "column": 64, 4801 "program": "objectLiteralAssignability.ts" 4802 } 4803 } 4804 }, 4805 "loc": { 4806 "start": { 4807 "line": 40, 4808 "column": 5, 4809 "program": "objectLiteralAssignability.ts" 4810 }, 4811 "end": { 4812 "line": 40, 4813 "column": 64, 4814 "program": "objectLiteralAssignability.ts" 4815 } 4816 } 4817 } 4818 ], 4819 "kind": "var", 4820 "loc": { 4821 "start": { 4822 "line": 40, 4823 "column": 1, 4824 "program": "objectLiteralAssignability.ts" 4825 }, 4826 "end": { 4827 "line": 40, 4828 "column": 65, 4829 "program": "objectLiteralAssignability.ts" 4830 } 4831 } 4832 }, 4833 { 4834 "type": "VariableDeclaration", 4835 "declarations": [ 4836 { 4837 "type": "VariableDeclarator", 4838 "id": { 4839 "type": "Identifier", 4840 "name": "c", 4841 "typeAnnotation": { 4842 "type": "TSNumberKeyword", 4843 "loc": { 4844 "start": { 4845 "line": 42, 4846 "column": 8, 4847 "program": "objectLiteralAssignability.ts" 4848 }, 4849 "end": { 4850 "line": 42, 4851 "column": 14, 4852 "program": "objectLiteralAssignability.ts" 4853 } 4854 } 4855 }, 4856 "decorators": [], 4857 "loc": { 4858 "start": { 4859 "line": 42, 4860 "column": 5, 4861 "program": "objectLiteralAssignability.ts" 4862 }, 4863 "end": { 4864 "line": 42, 4865 "column": 6, 4866 "program": "objectLiteralAssignability.ts" 4867 } 4868 } 4869 }, 4870 "init": null, 4871 "loc": { 4872 "start": { 4873 "line": 42, 4874 "column": 5, 4875 "program": "objectLiteralAssignability.ts" 4876 }, 4877 "end": { 4878 "line": 42, 4879 "column": 6, 4880 "program": "objectLiteralAssignability.ts" 4881 } 4882 } 4883 } 4884 ], 4885 "kind": "var", 4886 "loc": { 4887 "start": { 4888 "line": 42, 4889 "column": 1, 4890 "program": "objectLiteralAssignability.ts" 4891 }, 4892 "end": { 4893 "line": 42, 4894 "column": 15, 4895 "program": "objectLiteralAssignability.ts" 4896 } 4897 } 4898 }, 4899 { 4900 "type": "VariableDeclaration", 4901 "declarations": [ 4902 { 4903 "type": "VariableDeclarator", 4904 "id": { 4905 "type": "Identifier", 4906 "name": "d", 4907 "typeAnnotation": { 4908 "type": "TSStringKeyword", 4909 "loc": { 4910 "start": { 4911 "line": 43, 4912 "column": 8, 4913 "program": "objectLiteralAssignability.ts" 4914 }, 4915 "end": { 4916 "line": 43, 4917 "column": 14, 4918 "program": "objectLiteralAssignability.ts" 4919 } 4920 } 4921 }, 4922 "decorators": [], 4923 "loc": { 4924 "start": { 4925 "line": 43, 4926 "column": 5, 4927 "program": "objectLiteralAssignability.ts" 4928 }, 4929 "end": { 4930 "line": 43, 4931 "column": 6, 4932 "program": "objectLiteralAssignability.ts" 4933 } 4934 } 4935 }, 4936 "init": null, 4937 "loc": { 4938 "start": { 4939 "line": 43, 4940 "column": 5, 4941 "program": "objectLiteralAssignability.ts" 4942 }, 4943 "end": { 4944 "line": 43, 4945 "column": 6, 4946 "program": "objectLiteralAssignability.ts" 4947 } 4948 } 4949 } 4950 ], 4951 "kind": "var", 4952 "loc": { 4953 "start": { 4954 "line": 43, 4955 "column": 1, 4956 "program": "objectLiteralAssignability.ts" 4957 }, 4958 "end": { 4959 "line": 43, 4960 "column": 15, 4961 "program": "objectLiteralAssignability.ts" 4962 } 4963 } 4964 }, 4965 { 4966 "type": "VariableDeclaration", 4967 "declarations": [ 4968 { 4969 "type": "VariableDeclarator", 4970 "id": { 4971 "type": "Identifier", 4972 "name": "obj10", 4973 "typeAnnotation": { 4974 "type": "TSTypeLiteral", 4975 "members": [ 4976 { 4977 "type": "TSIndexSignature", 4978 "parameters": { 4979 "type": "Identifier", 4980 "name": "x", 4981 "typeAnnotation": { 4982 "type": "TSNumberKeyword", 4983 "loc": { 4984 "start": { 4985 "line": 44, 4986 "column": 18, 4987 "program": "objectLiteralAssignability.ts" 4988 }, 4989 "end": { 4990 "line": 44, 4991 "column": 24, 4992 "program": "objectLiteralAssignability.ts" 4993 } 4994 } 4995 }, 4996 "decorators": [], 4997 "loc": { 4998 "start": { 4999 "line": 44, 5000 "column": 15, 5001 "program": "objectLiteralAssignability.ts" 5002 }, 5003 "end": { 5004 "line": 44, 5005 "column": 16, 5006 "program": "objectLiteralAssignability.ts" 5007 } 5008 } 5009 }, 5010 "typeAnnotation": { 5011 "type": "TSNumberKeyword", 5012 "loc": { 5013 "start": { 5014 "line": 44, 5015 "column": 27, 5016 "program": "objectLiteralAssignability.ts" 5017 }, 5018 "end": { 5019 "line": 44, 5020 "column": 33, 5021 "program": "objectLiteralAssignability.ts" 5022 } 5023 } 5024 }, 5025 "readonly": false, 5026 "loc": { 5027 "start": { 5028 "line": 44, 5029 "column": 14, 5030 "program": "objectLiteralAssignability.ts" 5031 }, 5032 "end": { 5033 "line": 44, 5034 "column": 34, 5035 "program": "objectLiteralAssignability.ts" 5036 } 5037 } 5038 }, 5039 { 5040 "type": "TSIndexSignature", 5041 "parameters": { 5042 "type": "Identifier", 5043 "name": "y", 5044 "typeAnnotation": { 5045 "type": "TSStringKeyword", 5046 "loc": { 5047 "start": { 5048 "line": 44, 5049 "column": 39, 5050 "program": "objectLiteralAssignability.ts" 5051 }, 5052 "end": { 5053 "line": 44, 5054 "column": 45, 5055 "program": "objectLiteralAssignability.ts" 5056 } 5057 } 5058 }, 5059 "decorators": [], 5060 "loc": { 5061 "start": { 5062 "line": 44, 5063 "column": 36, 5064 "program": "objectLiteralAssignability.ts" 5065 }, 5066 "end": { 5067 "line": 44, 5068 "column": 37, 5069 "program": "objectLiteralAssignability.ts" 5070 } 5071 } 5072 }, 5073 "typeAnnotation": { 5074 "type": "TSNumberKeyword", 5075 "loc": { 5076 "start": { 5077 "line": 44, 5078 "column": 48, 5079 "program": "objectLiteralAssignability.ts" 5080 }, 5081 "end": { 5082 "line": 44, 5083 "column": 54, 5084 "program": "objectLiteralAssignability.ts" 5085 } 5086 } 5087 }, 5088 "readonly": false, 5089 "loc": { 5090 "start": { 5091 "line": 44, 5092 "column": 35, 5093 "program": "objectLiteralAssignability.ts" 5094 }, 5095 "end": { 5096 "line": 44, 5097 "column": 56, 5098 "program": "objectLiteralAssignability.ts" 5099 } 5100 } 5101 } 5102 ], 5103 "loc": { 5104 "start": { 5105 "line": 44, 5106 "column": 12, 5107 "program": "objectLiteralAssignability.ts" 5108 }, 5109 "end": { 5110 "line": 44, 5111 "column": 56, 5112 "program": "objectLiteralAssignability.ts" 5113 } 5114 } 5115 }, 5116 "decorators": [], 5117 "loc": { 5118 "start": { 5119 "line": 44, 5120 "column": 5, 5121 "program": "objectLiteralAssignability.ts" 5122 }, 5123 "end": { 5124 "line": 44, 5125 "column": 10, 5126 "program": "objectLiteralAssignability.ts" 5127 } 5128 } 5129 }, 5130 "init": { 5131 "type": "ObjectExpression", 5132 "properties": [ 5133 { 5134 "type": "Property", 5135 "method": false, 5136 "shorthand": false, 5137 "computed": true, 5138 "key": { 5139 "type": "Identifier", 5140 "name": "c", 5141 "decorators": [], 5142 "loc": { 5143 "start": { 5144 "line": 44, 5145 "column": 62, 5146 "program": "objectLiteralAssignability.ts" 5147 }, 5148 "end": { 5149 "line": 44, 5150 "column": 63, 5151 "program": "objectLiteralAssignability.ts" 5152 } 5153 } 5154 }, 5155 "value": { 5156 "type": "NumberLiteral", 5157 "value": 1, 5158 "loc": { 5159 "start": { 5160 "line": 44, 5161 "column": 66, 5162 "program": "objectLiteralAssignability.ts" 5163 }, 5164 "end": { 5165 "line": 44, 5166 "column": 67, 5167 "program": "objectLiteralAssignability.ts" 5168 } 5169 } 5170 }, 5171 "kind": "init", 5172 "loc": { 5173 "start": { 5174 "line": 44, 5175 "column": 61, 5176 "program": "objectLiteralAssignability.ts" 5177 }, 5178 "end": { 5179 "line": 44, 5180 "column": 67, 5181 "program": "objectLiteralAssignability.ts" 5182 } 5183 } 5184 }, 5185 { 5186 "type": "Property", 5187 "method": false, 5188 "shorthand": false, 5189 "computed": true, 5190 "key": { 5191 "type": "Identifier", 5192 "name": "d", 5193 "decorators": [], 5194 "loc": { 5195 "start": { 5196 "line": 44, 5197 "column": 70, 5198 "program": "objectLiteralAssignability.ts" 5199 }, 5200 "end": { 5201 "line": 44, 5202 "column": 71, 5203 "program": "objectLiteralAssignability.ts" 5204 } 5205 } 5206 }, 5207 "value": { 5208 "type": "NumberLiteral", 5209 "value": 2, 5210 "loc": { 5211 "start": { 5212 "line": 44, 5213 "column": 74, 5214 "program": "objectLiteralAssignability.ts" 5215 }, 5216 "end": { 5217 "line": 44, 5218 "column": 75, 5219 "program": "objectLiteralAssignability.ts" 5220 } 5221 } 5222 }, 5223 "kind": "init", 5224 "loc": { 5225 "start": { 5226 "line": 44, 5227 "column": 69, 5228 "program": "objectLiteralAssignability.ts" 5229 }, 5230 "end": { 5231 "line": 44, 5232 "column": 75, 5233 "program": "objectLiteralAssignability.ts" 5234 } 5235 } 5236 } 5237 ], 5238 "loc": { 5239 "start": { 5240 "line": 44, 5241 "column": 59, 5242 "program": "objectLiteralAssignability.ts" 5243 }, 5244 "end": { 5245 "line": 44, 5246 "column": 77, 5247 "program": "objectLiteralAssignability.ts" 5248 } 5249 } 5250 }, 5251 "loc": { 5252 "start": { 5253 "line": 44, 5254 "column": 5, 5255 "program": "objectLiteralAssignability.ts" 5256 }, 5257 "end": { 5258 "line": 44, 5259 "column": 77, 5260 "program": "objectLiteralAssignability.ts" 5261 } 5262 } 5263 } 5264 ], 5265 "kind": "var", 5266 "loc": { 5267 "start": { 5268 "line": 44, 5269 "column": 1, 5270 "program": "objectLiteralAssignability.ts" 5271 }, 5272 "end": { 5273 "line": 44, 5274 "column": 78, 5275 "program": "objectLiteralAssignability.ts" 5276 } 5277 } 5278 }, 5279 { 5280 "type": "VariableDeclaration", 5281 "declarations": [ 5282 { 5283 "type": "VariableDeclarator", 5284 "id": { 5285 "type": "Identifier", 5286 "name": "obj11", 5287 "decorators": [], 5288 "loc": { 5289 "start": { 5290 "line": 46, 5291 "column": 5, 5292 "program": "objectLiteralAssignability.ts" 5293 }, 5294 "end": { 5295 "line": 46, 5296 "column": 10, 5297 "program": "objectLiteralAssignability.ts" 5298 } 5299 } 5300 }, 5301 "init": { 5302 "type": "ObjectExpression", 5303 "properties": [ 5304 { 5305 "type": "Property", 5306 "method": false, 5307 "shorthand": false, 5308 "computed": false, 5309 "key": { 5310 "type": "NumberLiteral", 5311 "value": 5, 5312 "loc": { 5313 "start": { 5314 "line": 46, 5315 "column": 19, 5316 "program": "objectLiteralAssignability.ts" 5317 }, 5318 "end": { 5319 "line": 46, 5320 "column": 20, 5321 "program": "objectLiteralAssignability.ts" 5322 } 5323 } 5324 }, 5325 "value": { 5326 "type": "FunctionExpression", 5327 "function": { 5328 "type": "ScriptFunction", 5329 "id": null, 5330 "generator": false, 5331 "async": false, 5332 "expression": false, 5333 "params": [], 5334 "body": { 5335 "type": "BlockStatement", 5336 "statements": [ 5337 { 5338 "type": "ReturnStatement", 5339 "argument": { 5340 "type": "NumberLiteral", 5341 "value": 5, 5342 "loc": { 5343 "start": { 5344 "line": 46, 5345 "column": 32, 5346 "program": "objectLiteralAssignability.ts" 5347 }, 5348 "end": { 5349 "line": 46, 5350 "column": 33, 5351 "program": "objectLiteralAssignability.ts" 5352 } 5353 } 5354 }, 5355 "loc": { 5356 "start": { 5357 "line": 46, 5358 "column": 25, 5359 "program": "objectLiteralAssignability.ts" 5360 }, 5361 "end": { 5362 "line": 46, 5363 "column": 34, 5364 "program": "objectLiteralAssignability.ts" 5365 } 5366 } 5367 } 5368 ], 5369 "loc": { 5370 "start": { 5371 "line": 46, 5372 "column": 23, 5373 "program": "objectLiteralAssignability.ts" 5374 }, 5375 "end": { 5376 "line": 46, 5377 "column": 36, 5378 "program": "objectLiteralAssignability.ts" 5379 } 5380 } 5381 }, 5382 "loc": { 5383 "start": { 5384 "line": 46, 5385 "column": 20, 5386 "program": "objectLiteralAssignability.ts" 5387 }, 5388 "end": { 5389 "line": 46, 5390 "column": 36, 5391 "program": "objectLiteralAssignability.ts" 5392 } 5393 } 5394 }, 5395 "loc": { 5396 "start": { 5397 "line": 46, 5398 "column": 20, 5399 "program": "objectLiteralAssignability.ts" 5400 }, 5401 "end": { 5402 "line": 46, 5403 "column": 36, 5404 "program": "objectLiteralAssignability.ts" 5405 } 5406 } 5407 }, 5408 "kind": "get", 5409 "loc": { 5410 "start": { 5411 "line": 46, 5412 "column": 15, 5413 "program": "objectLiteralAssignability.ts" 5414 }, 5415 "end": { 5416 "line": 46, 5417 "column": 36, 5418 "program": "objectLiteralAssignability.ts" 5419 } 5420 } 5421 }, 5422 { 5423 "type": "Property", 5424 "method": false, 5425 "shorthand": false, 5426 "computed": false, 5427 "key": { 5428 "type": "StringLiteral", 5429 "value": "foo", 5430 "loc": { 5431 "start": { 5432 "line": 46, 5433 "column": 42, 5434 "program": "objectLiteralAssignability.ts" 5435 }, 5436 "end": { 5437 "line": 46, 5438 "column": 47, 5439 "program": "objectLiteralAssignability.ts" 5440 } 5441 } 5442 }, 5443 "value": { 5444 "type": "FunctionExpression", 5445 "function": { 5446 "type": "ScriptFunction", 5447 "id": null, 5448 "generator": false, 5449 "async": false, 5450 "expression": false, 5451 "params": [ 5452 { 5453 "type": "Identifier", 5454 "name": "a", 5455 "typeAnnotation": { 5456 "type": "TSAnyKeyword", 5457 "loc": { 5458 "start": { 5459 "line": 46, 5460 "column": 51, 5461 "program": "objectLiteralAssignability.ts" 5462 }, 5463 "end": { 5464 "line": 46, 5465 "column": 54, 5466 "program": "objectLiteralAssignability.ts" 5467 } 5468 } 5469 }, 5470 "decorators": [], 5471 "loc": { 5472 "start": { 5473 "line": 46, 5474 "column": 48, 5475 "program": "objectLiteralAssignability.ts" 5476 }, 5477 "end": { 5478 "line": 46, 5479 "column": 49, 5480 "program": "objectLiteralAssignability.ts" 5481 } 5482 } 5483 } 5484 ], 5485 "body": { 5486 "type": "BlockStatement", 5487 "statements": [], 5488 "loc": { 5489 "start": { 5490 "line": 46, 5491 "column": 56, 5492 "program": "objectLiteralAssignability.ts" 5493 }, 5494 "end": { 5495 "line": 46, 5496 "column": 59, 5497 "program": "objectLiteralAssignability.ts" 5498 } 5499 } 5500 }, 5501 "loc": { 5502 "start": { 5503 "line": 46, 5504 "column": 47, 5505 "program": "objectLiteralAssignability.ts" 5506 }, 5507 "end": { 5508 "line": 46, 5509 "column": 59, 5510 "program": "objectLiteralAssignability.ts" 5511 } 5512 } 5513 }, 5514 "loc": { 5515 "start": { 5516 "line": 46, 5517 "column": 47, 5518 "program": "objectLiteralAssignability.ts" 5519 }, 5520 "end": { 5521 "line": 46, 5522 "column": 59, 5523 "program": "objectLiteralAssignability.ts" 5524 } 5525 } 5526 }, 5527 "kind": "set", 5528 "loc": { 5529 "start": { 5530 "line": 46, 5531 "column": 38, 5532 "program": "objectLiteralAssignability.ts" 5533 }, 5534 "end": { 5535 "line": 46, 5536 "column": 59, 5537 "program": "objectLiteralAssignability.ts" 5538 } 5539 } 5540 } 5541 ], 5542 "loc": { 5543 "start": { 5544 "line": 46, 5545 "column": 13, 5546 "program": "objectLiteralAssignability.ts" 5547 }, 5548 "end": { 5549 "line": 46, 5550 "column": 61, 5551 "program": "objectLiteralAssignability.ts" 5552 } 5553 } 5554 }, 5555 "loc": { 5556 "start": { 5557 "line": 46, 5558 "column": 5, 5559 "program": "objectLiteralAssignability.ts" 5560 }, 5561 "end": { 5562 "line": 46, 5563 "column": 61, 5564 "program": "objectLiteralAssignability.ts" 5565 } 5566 } 5567 } 5568 ], 5569 "kind": "var", 5570 "loc": { 5571 "start": { 5572 "line": 46, 5573 "column": 1, 5574 "program": "objectLiteralAssignability.ts" 5575 }, 5576 "end": { 5577 "line": 46, 5578 "column": 62, 5579 "program": "objectLiteralAssignability.ts" 5580 } 5581 } 5582 }, 5583 { 5584 "type": "ExpressionStatement", 5585 "expression": { 5586 "type": "AssignmentExpression", 5587 "operator": "=", 5588 "left": { 5589 "type": "Identifier", 5590 "name": "obj9", 5591 "decorators": [], 5592 "loc": { 5593 "start": { 5594 "line": 47, 5595 "column": 1, 5596 "program": "objectLiteralAssignability.ts" 5597 }, 5598 "end": { 5599 "line": 47, 5600 "column": 5, 5601 "program": "objectLiteralAssignability.ts" 5602 } 5603 } 5604 }, 5605 "right": { 5606 "type": "Identifier", 5607 "name": "obj11", 5608 "decorators": [], 5609 "loc": { 5610 "start": { 5611 "line": 47, 5612 "column": 8, 5613 "program": "objectLiteralAssignability.ts" 5614 }, 5615 "end": { 5616 "line": 47, 5617 "column": 13, 5618 "program": "objectLiteralAssignability.ts" 5619 } 5620 } 5621 }, 5622 "loc": { 5623 "start": { 5624 "line": 47, 5625 "column": 1, 5626 "program": "objectLiteralAssignability.ts" 5627 }, 5628 "end": { 5629 "line": 47, 5630 "column": 13, 5631 "program": "objectLiteralAssignability.ts" 5632 } 5633 } 5634 }, 5635 "loc": { 5636 "start": { 5637 "line": 47, 5638 "column": 1, 5639 "program": "objectLiteralAssignability.ts" 5640 }, 5641 "end": { 5642 "line": 47, 5643 "column": 14, 5644 "program": "objectLiteralAssignability.ts" 5645 } 5646 } 5647 }, 5648 { 5649 "type": "VariableDeclaration", 5650 "declarations": [ 5651 { 5652 "type": "VariableDeclarator", 5653 "id": { 5654 "type": "Identifier", 5655 "name": "obj12", 5656 "typeAnnotation": { 5657 "type": "TSTypeLiteral", 5658 "members": [ 5659 { 5660 "type": "TSPropertySignature", 5661 "computed": false, 5662 "optional": true, 5663 "readonly": false, 5664 "key": { 5665 "type": "Identifier", 5666 "name": "a", 5667 "decorators": [], 5668 "loc": { 5669 "start": { 5670 "line": 49, 5671 "column": 14, 5672 "program": "objectLiteralAssignability.ts" 5673 }, 5674 "end": { 5675 "line": 49, 5676 "column": 15, 5677 "program": "objectLiteralAssignability.ts" 5678 } 5679 } 5680 }, 5681 "typeAnnotation": { 5682 "type": "TSNumberKeyword", 5683 "loc": { 5684 "start": { 5685 "line": 49, 5686 "column": 18, 5687 "program": "objectLiteralAssignability.ts" 5688 }, 5689 "end": { 5690 "line": 49, 5691 "column": 24, 5692 "program": "objectLiteralAssignability.ts" 5693 } 5694 } 5695 }, 5696 "loc": { 5697 "start": { 5698 "line": 49, 5699 "column": 14, 5700 "program": "objectLiteralAssignability.ts" 5701 }, 5702 "end": { 5703 "line": 49, 5704 "column": 25, 5705 "program": "objectLiteralAssignability.ts" 5706 } 5707 } 5708 }, 5709 { 5710 "type": "TSPropertySignature", 5711 "computed": false, 5712 "optional": true, 5713 "readonly": false, 5714 "key": { 5715 "type": "Identifier", 5716 "name": "b", 5717 "decorators": [], 5718 "loc": { 5719 "start": { 5720 "line": 49, 5721 "column": 26, 5722 "program": "objectLiteralAssignability.ts" 5723 }, 5724 "end": { 5725 "line": 49, 5726 "column": 27, 5727 "program": "objectLiteralAssignability.ts" 5728 } 5729 } 5730 }, 5731 "typeAnnotation": { 5732 "type": "TSStringKeyword", 5733 "loc": { 5734 "start": { 5735 "line": 49, 5736 "column": 30, 5737 "program": "objectLiteralAssignability.ts" 5738 }, 5739 "end": { 5740 "line": 49, 5741 "column": 36, 5742 "program": "objectLiteralAssignability.ts" 5743 } 5744 } 5745 }, 5746 "loc": { 5747 "start": { 5748 "line": 49, 5749 "column": 26, 5750 "program": "objectLiteralAssignability.ts" 5751 }, 5752 "end": { 5753 "line": 49, 5754 "column": 37, 5755 "program": "objectLiteralAssignability.ts" 5756 } 5757 } 5758 }, 5759 { 5760 "type": "TSPropertySignature", 5761 "computed": false, 5762 "optional": true, 5763 "readonly": false, 5764 "key": { 5765 "type": "Identifier", 5766 "name": "c", 5767 "decorators": [], 5768 "loc": { 5769 "start": { 5770 "line": 49, 5771 "column": 38, 5772 "program": "objectLiteralAssignability.ts" 5773 }, 5774 "end": { 5775 "line": 49, 5776 "column": 39, 5777 "program": "objectLiteralAssignability.ts" 5778 } 5779 } 5780 }, 5781 "typeAnnotation": { 5782 "type": "TSBooleanKeyword", 5783 "loc": { 5784 "start": { 5785 "line": 49, 5786 "column": 42, 5787 "program": "objectLiteralAssignability.ts" 5788 }, 5789 "end": { 5790 "line": 49, 5791 "column": 49, 5792 "program": "objectLiteralAssignability.ts" 5793 } 5794 } 5795 }, 5796 "loc": { 5797 "start": { 5798 "line": 49, 5799 "column": 38, 5800 "program": "objectLiteralAssignability.ts" 5801 }, 5802 "end": { 5803 "line": 49, 5804 "column": 51, 5805 "program": "objectLiteralAssignability.ts" 5806 } 5807 } 5808 } 5809 ], 5810 "loc": { 5811 "start": { 5812 "line": 49, 5813 "column": 12, 5814 "program": "objectLiteralAssignability.ts" 5815 }, 5816 "end": { 5817 "line": 49, 5818 "column": 51, 5819 "program": "objectLiteralAssignability.ts" 5820 } 5821 } 5822 }, 5823 "decorators": [], 5824 "loc": { 5825 "start": { 5826 "line": 49, 5827 "column": 5, 5828 "program": "objectLiteralAssignability.ts" 5829 }, 5830 "end": { 5831 "line": 49, 5832 "column": 10, 5833 "program": "objectLiteralAssignability.ts" 5834 } 5835 } 5836 }, 5837 "init": null, 5838 "loc": { 5839 "start": { 5840 "line": 49, 5841 "column": 5, 5842 "program": "objectLiteralAssignability.ts" 5843 }, 5844 "end": { 5845 "line": 49, 5846 "column": 10, 5847 "program": "objectLiteralAssignability.ts" 5848 } 5849 } 5850 } 5851 ], 5852 "kind": "var", 5853 "loc": { 5854 "start": { 5855 "line": 49, 5856 "column": 1, 5857 "program": "objectLiteralAssignability.ts" 5858 }, 5859 "end": { 5860 "line": 49, 5861 "column": 52, 5862 "program": "objectLiteralAssignability.ts" 5863 } 5864 } 5865 }, 5866 { 5867 "type": "ExpressionStatement", 5868 "expression": { 5869 "type": "AssignmentExpression", 5870 "operator": "=", 5871 "left": { 5872 "type": "Identifier", 5873 "name": "obj12", 5874 "decorators": [], 5875 "loc": { 5876 "start": { 5877 "line": 50, 5878 "column": 1, 5879 "program": "objectLiteralAssignability.ts" 5880 }, 5881 "end": { 5882 "line": 50, 5883 "column": 6, 5884 "program": "objectLiteralAssignability.ts" 5885 } 5886 } 5887 }, 5888 "right": { 5889 "type": "ObjectExpression", 5890 "properties": [], 5891 "loc": { 5892 "start": { 5893 "line": 50, 5894 "column": 9, 5895 "program": "objectLiteralAssignability.ts" 5896 }, 5897 "end": { 5898 "line": 50, 5899 "column": 11, 5900 "program": "objectLiteralAssignability.ts" 5901 } 5902 } 5903 }, 5904 "loc": { 5905 "start": { 5906 "line": 50, 5907 "column": 1, 5908 "program": "objectLiteralAssignability.ts" 5909 }, 5910 "end": { 5911 "line": 50, 5912 "column": 11, 5913 "program": "objectLiteralAssignability.ts" 5914 } 5915 } 5916 }, 5917 "loc": { 5918 "start": { 5919 "line": 50, 5920 "column": 1, 5921 "program": "objectLiteralAssignability.ts" 5922 }, 5923 "end": { 5924 "line": 50, 5925 "column": 12, 5926 "program": "objectLiteralAssignability.ts" 5927 } 5928 } 5929 }, 5930 { 5931 "type": "ExpressionStatement", 5932 "expression": { 5933 "type": "AssignmentExpression", 5934 "operator": "=", 5935 "left": { 5936 "type": "Identifier", 5937 "name": "obj12", 5938 "decorators": [], 5939 "loc": { 5940 "start": { 5941 "line": 51, 5942 "column": 1, 5943 "program": "objectLiteralAssignability.ts" 5944 }, 5945 "end": { 5946 "line": 51, 5947 "column": 6, 5948 "program": "objectLiteralAssignability.ts" 5949 } 5950 } 5951 }, 5952 "right": { 5953 "type": "ObjectExpression", 5954 "properties": [ 5955 { 5956 "type": "Property", 5957 "method": false, 5958 "shorthand": false, 5959 "computed": false, 5960 "key": { 5961 "type": "Identifier", 5962 "name": "a", 5963 "decorators": [], 5964 "loc": { 5965 "start": { 5966 "line": 51, 5967 "column": 11, 5968 "program": "objectLiteralAssignability.ts" 5969 }, 5970 "end": { 5971 "line": 51, 5972 "column": 12, 5973 "program": "objectLiteralAssignability.ts" 5974 } 5975 } 5976 }, 5977 "value": { 5978 "type": "NumberLiteral", 5979 "value": 5, 5980 "loc": { 5981 "start": { 5982 "line": 51, 5983 "column": 14, 5984 "program": "objectLiteralAssignability.ts" 5985 }, 5986 "end": { 5987 "line": 51, 5988 "column": 15, 5989 "program": "objectLiteralAssignability.ts" 5990 } 5991 } 5992 }, 5993 "kind": "init", 5994 "loc": { 5995 "start": { 5996 "line": 51, 5997 "column": 11, 5998 "program": "objectLiteralAssignability.ts" 5999 }, 6000 "end": { 6001 "line": 51, 6002 "column": 15, 6003 "program": "objectLiteralAssignability.ts" 6004 } 6005 } 6006 } 6007 ], 6008 "loc": { 6009 "start": { 6010 "line": 51, 6011 "column": 9, 6012 "program": "objectLiteralAssignability.ts" 6013 }, 6014 "end": { 6015 "line": 51, 6016 "column": 17, 6017 "program": "objectLiteralAssignability.ts" 6018 } 6019 } 6020 }, 6021 "loc": { 6022 "start": { 6023 "line": 51, 6024 "column": 1, 6025 "program": "objectLiteralAssignability.ts" 6026 }, 6027 "end": { 6028 "line": 51, 6029 "column": 17, 6030 "program": "objectLiteralAssignability.ts" 6031 } 6032 } 6033 }, 6034 "loc": { 6035 "start": { 6036 "line": 51, 6037 "column": 1, 6038 "program": "objectLiteralAssignability.ts" 6039 }, 6040 "end": { 6041 "line": 51, 6042 "column": 18, 6043 "program": "objectLiteralAssignability.ts" 6044 } 6045 } 6046 }, 6047 { 6048 "type": "ExpressionStatement", 6049 "expression": { 6050 "type": "AssignmentExpression", 6051 "operator": "=", 6052 "left": { 6053 "type": "Identifier", 6054 "name": "obj12", 6055 "decorators": [], 6056 "loc": { 6057 "start": { 6058 "line": 52, 6059 "column": 1, 6060 "program": "objectLiteralAssignability.ts" 6061 }, 6062 "end": { 6063 "line": 52, 6064 "column": 6, 6065 "program": "objectLiteralAssignability.ts" 6066 } 6067 } 6068 }, 6069 "right": { 6070 "type": "ObjectExpression", 6071 "properties": [ 6072 { 6073 "type": "Property", 6074 "method": false, 6075 "shorthand": false, 6076 "computed": false, 6077 "key": { 6078 "type": "Identifier", 6079 "name": "a", 6080 "decorators": [], 6081 "loc": { 6082 "start": { 6083 "line": 52, 6084 "column": 11, 6085 "program": "objectLiteralAssignability.ts" 6086 }, 6087 "end": { 6088 "line": 52, 6089 "column": 12, 6090 "program": "objectLiteralAssignability.ts" 6091 } 6092 } 6093 }, 6094 "value": { 6095 "type": "NumberLiteral", 6096 "value": 5, 6097 "loc": { 6098 "start": { 6099 "line": 52, 6100 "column": 14, 6101 "program": "objectLiteralAssignability.ts" 6102 }, 6103 "end": { 6104 "line": 52, 6105 "column": 15, 6106 "program": "objectLiteralAssignability.ts" 6107 } 6108 } 6109 }, 6110 "kind": "init", 6111 "loc": { 6112 "start": { 6113 "line": 52, 6114 "column": 11, 6115 "program": "objectLiteralAssignability.ts" 6116 }, 6117 "end": { 6118 "line": 52, 6119 "column": 15, 6120 "program": "objectLiteralAssignability.ts" 6121 } 6122 } 6123 }, 6124 { 6125 "type": "Property", 6126 "method": false, 6127 "shorthand": false, 6128 "computed": false, 6129 "key": { 6130 "type": "Identifier", 6131 "name": "b", 6132 "decorators": [], 6133 "loc": { 6134 "start": { 6135 "line": 52, 6136 "column": 17, 6137 "program": "objectLiteralAssignability.ts" 6138 }, 6139 "end": { 6140 "line": 52, 6141 "column": 18, 6142 "program": "objectLiteralAssignability.ts" 6143 } 6144 } 6145 }, 6146 "value": { 6147 "type": "StringLiteral", 6148 "value": "foo", 6149 "loc": { 6150 "start": { 6151 "line": 52, 6152 "column": 20, 6153 "program": "objectLiteralAssignability.ts" 6154 }, 6155 "end": { 6156 "line": 52, 6157 "column": 25, 6158 "program": "objectLiteralAssignability.ts" 6159 } 6160 } 6161 }, 6162 "kind": "init", 6163 "loc": { 6164 "start": { 6165 "line": 52, 6166 "column": 17, 6167 "program": "objectLiteralAssignability.ts" 6168 }, 6169 "end": { 6170 "line": 52, 6171 "column": 25, 6172 "program": "objectLiteralAssignability.ts" 6173 } 6174 } 6175 } 6176 ], 6177 "loc": { 6178 "start": { 6179 "line": 52, 6180 "column": 9, 6181 "program": "objectLiteralAssignability.ts" 6182 }, 6183 "end": { 6184 "line": 52, 6185 "column": 27, 6186 "program": "objectLiteralAssignability.ts" 6187 } 6188 } 6189 }, 6190 "loc": { 6191 "start": { 6192 "line": 52, 6193 "column": 1, 6194 "program": "objectLiteralAssignability.ts" 6195 }, 6196 "end": { 6197 "line": 52, 6198 "column": 27, 6199 "program": "objectLiteralAssignability.ts" 6200 } 6201 } 6202 }, 6203 "loc": { 6204 "start": { 6205 "line": 52, 6206 "column": 1, 6207 "program": "objectLiteralAssignability.ts" 6208 }, 6209 "end": { 6210 "line": 52, 6211 "column": 28, 6212 "program": "objectLiteralAssignability.ts" 6213 } 6214 } 6215 }, 6216 { 6217 "type": "ExpressionStatement", 6218 "expression": { 6219 "type": "AssignmentExpression", 6220 "operator": "=", 6221 "left": { 6222 "type": "Identifier", 6223 "name": "obj12", 6224 "decorators": [], 6225 "loc": { 6226 "start": { 6227 "line": 53, 6228 "column": 1, 6229 "program": "objectLiteralAssignability.ts" 6230 }, 6231 "end": { 6232 "line": 53, 6233 "column": 6, 6234 "program": "objectLiteralAssignability.ts" 6235 } 6236 } 6237 }, 6238 "right": { 6239 "type": "ObjectExpression", 6240 "properties": [ 6241 { 6242 "type": "Property", 6243 "method": false, 6244 "shorthand": false, 6245 "computed": false, 6246 "key": { 6247 "type": "Identifier", 6248 "name": "b", 6249 "decorators": [], 6250 "loc": { 6251 "start": { 6252 "line": 53, 6253 "column": 11, 6254 "program": "objectLiteralAssignability.ts" 6255 }, 6256 "end": { 6257 "line": 53, 6258 "column": 12, 6259 "program": "objectLiteralAssignability.ts" 6260 } 6261 } 6262 }, 6263 "value": { 6264 "type": "StringLiteral", 6265 "value": "foo", 6266 "loc": { 6267 "start": { 6268 "line": 53, 6269 "column": 14, 6270 "program": "objectLiteralAssignability.ts" 6271 }, 6272 "end": { 6273 "line": 53, 6274 "column": 19, 6275 "program": "objectLiteralAssignability.ts" 6276 } 6277 } 6278 }, 6279 "kind": "init", 6280 "loc": { 6281 "start": { 6282 "line": 53, 6283 "column": 11, 6284 "program": "objectLiteralAssignability.ts" 6285 }, 6286 "end": { 6287 "line": 53, 6288 "column": 19, 6289 "program": "objectLiteralAssignability.ts" 6290 } 6291 } 6292 } 6293 ], 6294 "loc": { 6295 "start": { 6296 "line": 53, 6297 "column": 9, 6298 "program": "objectLiteralAssignability.ts" 6299 }, 6300 "end": { 6301 "line": 53, 6302 "column": 21, 6303 "program": "objectLiteralAssignability.ts" 6304 } 6305 } 6306 }, 6307 "loc": { 6308 "start": { 6309 "line": 53, 6310 "column": 1, 6311 "program": "objectLiteralAssignability.ts" 6312 }, 6313 "end": { 6314 "line": 53, 6315 "column": 21, 6316 "program": "objectLiteralAssignability.ts" 6317 } 6318 } 6319 }, 6320 "loc": { 6321 "start": { 6322 "line": 53, 6323 "column": 1, 6324 "program": "objectLiteralAssignability.ts" 6325 }, 6326 "end": { 6327 "line": 53, 6328 "column": 22, 6329 "program": "objectLiteralAssignability.ts" 6330 } 6331 } 6332 }, 6333 { 6334 "type": "ExpressionStatement", 6335 "expression": { 6336 "type": "AssignmentExpression", 6337 "operator": "=", 6338 "left": { 6339 "type": "Identifier", 6340 "name": "obj12", 6341 "decorators": [], 6342 "loc": { 6343 "start": { 6344 "line": 54, 6345 "column": 1, 6346 "program": "objectLiteralAssignability.ts" 6347 }, 6348 "end": { 6349 "line": 54, 6350 "column": 6, 6351 "program": "objectLiteralAssignability.ts" 6352 } 6353 } 6354 }, 6355 "right": { 6356 "type": "ObjectExpression", 6357 "properties": [ 6358 { 6359 "type": "Property", 6360 "method": false, 6361 "shorthand": false, 6362 "computed": false, 6363 "key": { 6364 "type": "Identifier", 6365 "name": "b", 6366 "decorators": [], 6367 "loc": { 6368 "start": { 6369 "line": 54, 6370 "column": 11, 6371 "program": "objectLiteralAssignability.ts" 6372 }, 6373 "end": { 6374 "line": 54, 6375 "column": 12, 6376 "program": "objectLiteralAssignability.ts" 6377 } 6378 } 6379 }, 6380 "value": { 6381 "type": "StringLiteral", 6382 "value": "foo", 6383 "loc": { 6384 "start": { 6385 "line": 54, 6386 "column": 14, 6387 "program": "objectLiteralAssignability.ts" 6388 }, 6389 "end": { 6390 "line": 54, 6391 "column": 19, 6392 "program": "objectLiteralAssignability.ts" 6393 } 6394 } 6395 }, 6396 "kind": "init", 6397 "loc": { 6398 "start": { 6399 "line": 54, 6400 "column": 11, 6401 "program": "objectLiteralAssignability.ts" 6402 }, 6403 "end": { 6404 "line": 54, 6405 "column": 19, 6406 "program": "objectLiteralAssignability.ts" 6407 } 6408 } 6409 }, 6410 { 6411 "type": "Property", 6412 "method": false, 6413 "shorthand": false, 6414 "computed": false, 6415 "key": { 6416 "type": "Identifier", 6417 "name": "a", 6418 "decorators": [], 6419 "loc": { 6420 "start": { 6421 "line": 54, 6422 "column": 21, 6423 "program": "objectLiteralAssignability.ts" 6424 }, 6425 "end": { 6426 "line": 54, 6427 "column": 22, 6428 "program": "objectLiteralAssignability.ts" 6429 } 6430 } 6431 }, 6432 "value": { 6433 "type": "NumberLiteral", 6434 "value": 5, 6435 "loc": { 6436 "start": { 6437 "line": 54, 6438 "column": 24, 6439 "program": "objectLiteralAssignability.ts" 6440 }, 6441 "end": { 6442 "line": 54, 6443 "column": 25, 6444 "program": "objectLiteralAssignability.ts" 6445 } 6446 } 6447 }, 6448 "kind": "init", 6449 "loc": { 6450 "start": { 6451 "line": 54, 6452 "column": 21, 6453 "program": "objectLiteralAssignability.ts" 6454 }, 6455 "end": { 6456 "line": 54, 6457 "column": 25, 6458 "program": "objectLiteralAssignability.ts" 6459 } 6460 } 6461 } 6462 ], 6463 "loc": { 6464 "start": { 6465 "line": 54, 6466 "column": 9, 6467 "program": "objectLiteralAssignability.ts" 6468 }, 6469 "end": { 6470 "line": 54, 6471 "column": 27, 6472 "program": "objectLiteralAssignability.ts" 6473 } 6474 } 6475 }, 6476 "loc": { 6477 "start": { 6478 "line": 54, 6479 "column": 1, 6480 "program": "objectLiteralAssignability.ts" 6481 }, 6482 "end": { 6483 "line": 54, 6484 "column": 27, 6485 "program": "objectLiteralAssignability.ts" 6486 } 6487 } 6488 }, 6489 "loc": { 6490 "start": { 6491 "line": 54, 6492 "column": 1, 6493 "program": "objectLiteralAssignability.ts" 6494 }, 6495 "end": { 6496 "line": 54, 6497 "column": 28, 6498 "program": "objectLiteralAssignability.ts" 6499 } 6500 } 6501 }, 6502 { 6503 "type": "ExpressionStatement", 6504 "expression": { 6505 "type": "AssignmentExpression", 6506 "operator": "=", 6507 "left": { 6508 "type": "Identifier", 6509 "name": "obj12", 6510 "decorators": [], 6511 "loc": { 6512 "start": { 6513 "line": 55, 6514 "column": 1, 6515 "program": "objectLiteralAssignability.ts" 6516 }, 6517 "end": { 6518 "line": 55, 6519 "column": 6, 6520 "program": "objectLiteralAssignability.ts" 6521 } 6522 } 6523 }, 6524 "right": { 6525 "type": "ObjectExpression", 6526 "properties": [ 6527 { 6528 "type": "Property", 6529 "method": false, 6530 "shorthand": false, 6531 "computed": false, 6532 "key": { 6533 "type": "Identifier", 6534 "name": "a", 6535 "decorators": [], 6536 "loc": { 6537 "start": { 6538 "line": 55, 6539 "column": 11, 6540 "program": "objectLiteralAssignability.ts" 6541 }, 6542 "end": { 6543 "line": 55, 6544 "column": 12, 6545 "program": "objectLiteralAssignability.ts" 6546 } 6547 } 6548 }, 6549 "value": { 6550 "type": "NumberLiteral", 6551 "value": 5, 6552 "loc": { 6553 "start": { 6554 "line": 55, 6555 "column": 14, 6556 "program": "objectLiteralAssignability.ts" 6557 }, 6558 "end": { 6559 "line": 55, 6560 "column": 15, 6561 "program": "objectLiteralAssignability.ts" 6562 } 6563 } 6564 }, 6565 "kind": "init", 6566 "loc": { 6567 "start": { 6568 "line": 55, 6569 "column": 11, 6570 "program": "objectLiteralAssignability.ts" 6571 }, 6572 "end": { 6573 "line": 55, 6574 "column": 15, 6575 "program": "objectLiteralAssignability.ts" 6576 } 6577 } 6578 }, 6579 { 6580 "type": "Property", 6581 "method": false, 6582 "shorthand": false, 6583 "computed": false, 6584 "key": { 6585 "type": "Identifier", 6586 "name": "c", 6587 "decorators": [], 6588 "loc": { 6589 "start": { 6590 "line": 55, 6591 "column": 17, 6592 "program": "objectLiteralAssignability.ts" 6593 }, 6594 "end": { 6595 "line": 55, 6596 "column": 18, 6597 "program": "objectLiteralAssignability.ts" 6598 } 6599 } 6600 }, 6601 "value": { 6602 "type": "BooleanLiteral", 6603 "value": true, 6604 "loc": { 6605 "start": { 6606 "line": 55, 6607 "column": 20, 6608 "program": "objectLiteralAssignability.ts" 6609 }, 6610 "end": { 6611 "line": 55, 6612 "column": 24, 6613 "program": "objectLiteralAssignability.ts" 6614 } 6615 } 6616 }, 6617 "kind": "init", 6618 "loc": { 6619 "start": { 6620 "line": 55, 6621 "column": 17, 6622 "program": "objectLiteralAssignability.ts" 6623 }, 6624 "end": { 6625 "line": 55, 6626 "column": 24, 6627 "program": "objectLiteralAssignability.ts" 6628 } 6629 } 6630 } 6631 ], 6632 "loc": { 6633 "start": { 6634 "line": 55, 6635 "column": 9, 6636 "program": "objectLiteralAssignability.ts" 6637 }, 6638 "end": { 6639 "line": 55, 6640 "column": 26, 6641 "program": "objectLiteralAssignability.ts" 6642 } 6643 } 6644 }, 6645 "loc": { 6646 "start": { 6647 "line": 55, 6648 "column": 1, 6649 "program": "objectLiteralAssignability.ts" 6650 }, 6651 "end": { 6652 "line": 55, 6653 "column": 26, 6654 "program": "objectLiteralAssignability.ts" 6655 } 6656 } 6657 }, 6658 "loc": { 6659 "start": { 6660 "line": 55, 6661 "column": 1, 6662 "program": "objectLiteralAssignability.ts" 6663 }, 6664 "end": { 6665 "line": 55, 6666 "column": 27, 6667 "program": "objectLiteralAssignability.ts" 6668 } 6669 } 6670 }, 6671 { 6672 "type": "ExpressionStatement", 6673 "expression": { 6674 "type": "AssignmentExpression", 6675 "operator": "=", 6676 "left": { 6677 "type": "Identifier", 6678 "name": "obj12", 6679 "decorators": [], 6680 "loc": { 6681 "start": { 6682 "line": 56, 6683 "column": 1, 6684 "program": "objectLiteralAssignability.ts" 6685 }, 6686 "end": { 6687 "line": 56, 6688 "column": 6, 6689 "program": "objectLiteralAssignability.ts" 6690 } 6691 } 6692 }, 6693 "right": { 6694 "type": "ObjectExpression", 6695 "properties": [ 6696 { 6697 "type": "Property", 6698 "method": false, 6699 "shorthand": false, 6700 "computed": false, 6701 "key": { 6702 "type": "Identifier", 6703 "name": "c", 6704 "decorators": [], 6705 "loc": { 6706 "start": { 6707 "line": 56, 6708 "column": 11, 6709 "program": "objectLiteralAssignability.ts" 6710 }, 6711 "end": { 6712 "line": 56, 6713 "column": 12, 6714 "program": "objectLiteralAssignability.ts" 6715 } 6716 } 6717 }, 6718 "value": { 6719 "type": "BooleanLiteral", 6720 "value": false, 6721 "loc": { 6722 "start": { 6723 "line": 56, 6724 "column": 14, 6725 "program": "objectLiteralAssignability.ts" 6726 }, 6727 "end": { 6728 "line": 56, 6729 "column": 19, 6730 "program": "objectLiteralAssignability.ts" 6731 } 6732 } 6733 }, 6734 "kind": "init", 6735 "loc": { 6736 "start": { 6737 "line": 56, 6738 "column": 11, 6739 "program": "objectLiteralAssignability.ts" 6740 }, 6741 "end": { 6742 "line": 56, 6743 "column": 19, 6744 "program": "objectLiteralAssignability.ts" 6745 } 6746 } 6747 }, 6748 { 6749 "type": "Property", 6750 "method": false, 6751 "shorthand": false, 6752 "computed": false, 6753 "key": { 6754 "type": "Identifier", 6755 "name": "b", 6756 "decorators": [], 6757 "loc": { 6758 "start": { 6759 "line": 56, 6760 "column": 21, 6761 "program": "objectLiteralAssignability.ts" 6762 }, 6763 "end": { 6764 "line": 56, 6765 "column": 22, 6766 "program": "objectLiteralAssignability.ts" 6767 } 6768 } 6769 }, 6770 "value": { 6771 "type": "StringLiteral", 6772 "value": "bar", 6773 "loc": { 6774 "start": { 6775 "line": 56, 6776 "column": 24, 6777 "program": "objectLiteralAssignability.ts" 6778 }, 6779 "end": { 6780 "line": 56, 6781 "column": 29, 6782 "program": "objectLiteralAssignability.ts" 6783 } 6784 } 6785 }, 6786 "kind": "init", 6787 "loc": { 6788 "start": { 6789 "line": 56, 6790 "column": 21, 6791 "program": "objectLiteralAssignability.ts" 6792 }, 6793 "end": { 6794 "line": 56, 6795 "column": 29, 6796 "program": "objectLiteralAssignability.ts" 6797 } 6798 } 6799 } 6800 ], 6801 "loc": { 6802 "start": { 6803 "line": 56, 6804 "column": 9, 6805 "program": "objectLiteralAssignability.ts" 6806 }, 6807 "end": { 6808 "line": 56, 6809 "column": 31, 6810 "program": "objectLiteralAssignability.ts" 6811 } 6812 } 6813 }, 6814 "loc": { 6815 "start": { 6816 "line": 56, 6817 "column": 1, 6818 "program": "objectLiteralAssignability.ts" 6819 }, 6820 "end": { 6821 "line": 56, 6822 "column": 31, 6823 "program": "objectLiteralAssignability.ts" 6824 } 6825 } 6826 }, 6827 "loc": { 6828 "start": { 6829 "line": 56, 6830 "column": 1, 6831 "program": "objectLiteralAssignability.ts" 6832 }, 6833 "end": { 6834 "line": 56, 6835 "column": 32, 6836 "program": "objectLiteralAssignability.ts" 6837 } 6838 } 6839 }, 6840 { 6841 "type": "TSInterfaceDeclaration", 6842 "body": { 6843 "type": "TSInterfaceBody", 6844 "body": [ 6845 { 6846 "type": "TSPropertySignature", 6847 "computed": false, 6848 "optional": false, 6849 "readonly": false, 6850 "key": { 6851 "type": "Identifier", 6852 "name": "a", 6853 "decorators": [], 6854 "loc": { 6855 "start": { 6856 "line": 59, 6857 "column": 5, 6858 "program": "objectLiteralAssignability.ts" 6859 }, 6860 "end": { 6861 "line": 59, 6862 "column": 6, 6863 "program": "objectLiteralAssignability.ts" 6864 } 6865 } 6866 }, 6867 "typeAnnotation": { 6868 "type": "TSNumberKeyword", 6869 "loc": { 6870 "start": { 6871 "line": 59, 6872 "column": 8, 6873 "program": "objectLiteralAssignability.ts" 6874 }, 6875 "end": { 6876 "line": 59, 6877 "column": 14, 6878 "program": "objectLiteralAssignability.ts" 6879 } 6880 } 6881 }, 6882 "loc": { 6883 "start": { 6884 "line": 59, 6885 "column": 5, 6886 "program": "objectLiteralAssignability.ts" 6887 }, 6888 "end": { 6889 "line": 59, 6890 "column": 15, 6891 "program": "objectLiteralAssignability.ts" 6892 } 6893 } 6894 }, 6895 { 6896 "type": "TSPropertySignature", 6897 "computed": false, 6898 "optional": false, 6899 "readonly": false, 6900 "key": { 6901 "type": "Identifier", 6902 "name": "b", 6903 "decorators": [], 6904 "loc": { 6905 "start": { 6906 "line": 60, 6907 "column": 5, 6908 "program": "objectLiteralAssignability.ts" 6909 }, 6910 "end": { 6911 "line": 60, 6912 "column": 6, 6913 "program": "objectLiteralAssignability.ts" 6914 } 6915 } 6916 }, 6917 "typeAnnotation": { 6918 "type": "TSStringKeyword", 6919 "loc": { 6920 "start": { 6921 "line": 60, 6922 "column": 8, 6923 "program": "objectLiteralAssignability.ts" 6924 }, 6925 "end": { 6926 "line": 60, 6927 "column": 14, 6928 "program": "objectLiteralAssignability.ts" 6929 } 6930 } 6931 }, 6932 "loc": { 6933 "start": { 6934 "line": 60, 6935 "column": 5, 6936 "program": "objectLiteralAssignability.ts" 6937 }, 6938 "end": { 6939 "line": 60, 6940 "column": 15, 6941 "program": "objectLiteralAssignability.ts" 6942 } 6943 } 6944 }, 6945 { 6946 "type": "TSPropertySignature", 6947 "computed": false, 6948 "optional": false, 6949 "readonly": false, 6950 "key": { 6951 "type": "Identifier", 6952 "name": "c", 6953 "decorators": [], 6954 "loc": { 6955 "start": { 6956 "line": 61, 6957 "column": 5, 6958 "program": "objectLiteralAssignability.ts" 6959 }, 6960 "end": { 6961 "line": 61, 6962 "column": 6, 6963 "program": "objectLiteralAssignability.ts" 6964 } 6965 } 6966 }, 6967 "typeAnnotation": { 6968 "type": "TSNumberKeyword", 6969 "loc": { 6970 "start": { 6971 "line": 61, 6972 "column": 8, 6973 "program": "objectLiteralAssignability.ts" 6974 }, 6975 "end": { 6976 "line": 61, 6977 "column": 14, 6978 "program": "objectLiteralAssignability.ts" 6979 } 6980 } 6981 }, 6982 "loc": { 6983 "start": { 6984 "line": 61, 6985 "column": 5, 6986 "program": "objectLiteralAssignability.ts" 6987 }, 6988 "end": { 6989 "line": 61, 6990 "column": 15, 6991 "program": "objectLiteralAssignability.ts" 6992 } 6993 } 6994 } 6995 ], 6996 "loc": { 6997 "start": { 6998 "line": 58, 6999 "column": 22, 7000 "program": "objectLiteralAssignability.ts" 7001 }, 7002 "end": { 7003 "line": 62, 7004 "column": 2, 7005 "program": "objectLiteralAssignability.ts" 7006 } 7007 } 7008 }, 7009 "id": { 7010 "type": "Identifier", 7011 "name": "interface1", 7012 "decorators": [], 7013 "loc": { 7014 "start": { 7015 "line": 58, 7016 "column": 11, 7017 "program": "objectLiteralAssignability.ts" 7018 }, 7019 "end": { 7020 "line": 58, 7021 "column": 21, 7022 "program": "objectLiteralAssignability.ts" 7023 } 7024 } 7025 }, 7026 "extends": [], 7027 "loc": { 7028 "start": { 7029 "line": 58, 7030 "column": 1, 7031 "program": "objectLiteralAssignability.ts" 7032 }, 7033 "end": { 7034 "line": 62, 7035 "column": 2, 7036 "program": "objectLiteralAssignability.ts" 7037 } 7038 } 7039 }, 7040 { 7041 "type": "TSInterfaceDeclaration", 7042 "body": { 7043 "type": "TSInterfaceBody", 7044 "body": [ 7045 { 7046 "type": "TSPropertySignature", 7047 "computed": false, 7048 "optional": false, 7049 "readonly": false, 7050 "key": { 7051 "type": "Identifier", 7052 "name": "d", 7053 "decorators": [], 7054 "loc": { 7055 "start": { 7056 "line": 65, 7057 "column": 5, 7058 "program": "objectLiteralAssignability.ts" 7059 }, 7060 "end": { 7061 "line": 65, 7062 "column": 6, 7063 "program": "objectLiteralAssignability.ts" 7064 } 7065 } 7066 }, 7067 "typeAnnotation": { 7068 "type": "TSNumberKeyword", 7069 "loc": { 7070 "start": { 7071 "line": 65, 7072 "column": 8, 7073 "program": "objectLiteralAssignability.ts" 7074 }, 7075 "end": { 7076 "line": 65, 7077 "column": 14, 7078 "program": "objectLiteralAssignability.ts" 7079 } 7080 } 7081 }, 7082 "loc": { 7083 "start": { 7084 "line": 65, 7085 "column": 5, 7086 "program": "objectLiteralAssignability.ts" 7087 }, 7088 "end": { 7089 "line": 66, 7090 "column": 2, 7091 "program": "objectLiteralAssignability.ts" 7092 } 7093 } 7094 } 7095 ], 7096 "loc": { 7097 "start": { 7098 "line": 64, 7099 "column": 41, 7100 "program": "objectLiteralAssignability.ts" 7101 }, 7102 "end": { 7103 "line": 66, 7104 "column": 2, 7105 "program": "objectLiteralAssignability.ts" 7106 } 7107 } 7108 }, 7109 "id": { 7110 "type": "Identifier", 7111 "name": "interface2", 7112 "decorators": [], 7113 "loc": { 7114 "start": { 7115 "line": 64, 7116 "column": 11, 7117 "program": "objectLiteralAssignability.ts" 7118 }, 7119 "end": { 7120 "line": 64, 7121 "column": 21, 7122 "program": "objectLiteralAssignability.ts" 7123 } 7124 } 7125 }, 7126 "extends": [ 7127 { 7128 "type": "TSInterfaceHeritage", 7129 "expression": { 7130 "type": "TSTypeReference", 7131 "typeName": { 7132 "type": "Identifier", 7133 "name": "interface1", 7134 "decorators": [], 7135 "loc": { 7136 "start": { 7137 "line": 64, 7138 "column": 30, 7139 "program": "objectLiteralAssignability.ts" 7140 }, 7141 "end": { 7142 "line": 64, 7143 "column": 40, 7144 "program": "objectLiteralAssignability.ts" 7145 } 7146 } 7147 }, 7148 "loc": { 7149 "start": { 7150 "line": 64, 7151 "column": 41, 7152 "program": "objectLiteralAssignability.ts" 7153 }, 7154 "end": { 7155 "line": 64, 7156 "column": 40, 7157 "program": "objectLiteralAssignability.ts" 7158 } 7159 } 7160 }, 7161 "loc": { 7162 "start": { 7163 "line": 64, 7164 "column": 41, 7165 "program": "objectLiteralAssignability.ts" 7166 }, 7167 "end": { 7168 "line": 64, 7169 "column": 40, 7170 "program": "objectLiteralAssignability.ts" 7171 } 7172 } 7173 } 7174 ], 7175 "loc": { 7176 "start": { 7177 "line": 64, 7178 "column": 1, 7179 "program": "objectLiteralAssignability.ts" 7180 }, 7181 "end": { 7182 "line": 66, 7183 "column": 2, 7184 "program": "objectLiteralAssignability.ts" 7185 } 7186 } 7187 }, 7188 { 7189 "type": "VariableDeclaration", 7190 "declarations": [ 7191 { 7192 "type": "VariableDeclarator", 7193 "id": { 7194 "type": "Identifier", 7195 "name": "obj13", 7196 "typeAnnotation": { 7197 "type": "TSTypeReference", 7198 "typeName": { 7199 "type": "Identifier", 7200 "name": "interface2", 7201 "decorators": [], 7202 "loc": { 7203 "start": { 7204 "line": 68, 7205 "column": 12, 7206 "program": "objectLiteralAssignability.ts" 7207 }, 7208 "end": { 7209 "line": 68, 7210 "column": 22, 7211 "program": "objectLiteralAssignability.ts" 7212 } 7213 } 7214 }, 7215 "loc": { 7216 "start": { 7217 "line": 68, 7218 "column": 12, 7219 "program": "objectLiteralAssignability.ts" 7220 }, 7221 "end": { 7222 "line": 68, 7223 "column": 22, 7224 "program": "objectLiteralAssignability.ts" 7225 } 7226 } 7227 }, 7228 "decorators": [], 7229 "loc": { 7230 "start": { 7231 "line": 68, 7232 "column": 5, 7233 "program": "objectLiteralAssignability.ts" 7234 }, 7235 "end": { 7236 "line": 68, 7237 "column": 10, 7238 "program": "objectLiteralAssignability.ts" 7239 } 7240 } 7241 }, 7242 "init": { 7243 "type": "ObjectExpression", 7244 "properties": [ 7245 { 7246 "type": "Property", 7247 "method": false, 7248 "shorthand": false, 7249 "computed": false, 7250 "key": { 7251 "type": "Identifier", 7252 "name": "a", 7253 "decorators": [], 7254 "loc": { 7255 "start": { 7256 "line": 68, 7257 "column": 27, 7258 "program": "objectLiteralAssignability.ts" 7259 }, 7260 "end": { 7261 "line": 68, 7262 "column": 28, 7263 "program": "objectLiteralAssignability.ts" 7264 } 7265 } 7266 }, 7267 "value": { 7268 "type": "NumberLiteral", 7269 "value": 5, 7270 "loc": { 7271 "start": { 7272 "line": 68, 7273 "column": 30, 7274 "program": "objectLiteralAssignability.ts" 7275 }, 7276 "end": { 7277 "line": 68, 7278 "column": 31, 7279 "program": "objectLiteralAssignability.ts" 7280 } 7281 } 7282 }, 7283 "kind": "init", 7284 "loc": { 7285 "start": { 7286 "line": 68, 7287 "column": 27, 7288 "program": "objectLiteralAssignability.ts" 7289 }, 7290 "end": { 7291 "line": 68, 7292 "column": 31, 7293 "program": "objectLiteralAssignability.ts" 7294 } 7295 } 7296 }, 7297 { 7298 "type": "Property", 7299 "method": false, 7300 "shorthand": false, 7301 "computed": false, 7302 "key": { 7303 "type": "Identifier", 7304 "name": "b", 7305 "decorators": [], 7306 "loc": { 7307 "start": { 7308 "line": 68, 7309 "column": 33, 7310 "program": "objectLiteralAssignability.ts" 7311 }, 7312 "end": { 7313 "line": 68, 7314 "column": 34, 7315 "program": "objectLiteralAssignability.ts" 7316 } 7317 } 7318 }, 7319 "value": { 7320 "type": "StringLiteral", 7321 "value": "foo", 7322 "loc": { 7323 "start": { 7324 "line": 68, 7325 "column": 36, 7326 "program": "objectLiteralAssignability.ts" 7327 }, 7328 "end": { 7329 "line": 68, 7330 "column": 41, 7331 "program": "objectLiteralAssignability.ts" 7332 } 7333 } 7334 }, 7335 "kind": "init", 7336 "loc": { 7337 "start": { 7338 "line": 68, 7339 "column": 33, 7340 "program": "objectLiteralAssignability.ts" 7341 }, 7342 "end": { 7343 "line": 68, 7344 "column": 41, 7345 "program": "objectLiteralAssignability.ts" 7346 } 7347 } 7348 }, 7349 { 7350 "type": "Property", 7351 "method": false, 7352 "shorthand": false, 7353 "computed": false, 7354 "key": { 7355 "type": "Identifier", 7356 "name": "c", 7357 "decorators": [], 7358 "loc": { 7359 "start": { 7360 "line": 68, 7361 "column": 43, 7362 "program": "objectLiteralAssignability.ts" 7363 }, 7364 "end": { 7365 "line": 68, 7366 "column": 44, 7367 "program": "objectLiteralAssignability.ts" 7368 } 7369 } 7370 }, 7371 "value": { 7372 "type": "NumberLiteral", 7373 "value": 5, 7374 "loc": { 7375 "start": { 7376 "line": 68, 7377 "column": 46, 7378 "program": "objectLiteralAssignability.ts" 7379 }, 7380 "end": { 7381 "line": 68, 7382 "column": 47, 7383 "program": "objectLiteralAssignability.ts" 7384 } 7385 } 7386 }, 7387 "kind": "init", 7388 "loc": { 7389 "start": { 7390 "line": 68, 7391 "column": 43, 7392 "program": "objectLiteralAssignability.ts" 7393 }, 7394 "end": { 7395 "line": 68, 7396 "column": 47, 7397 "program": "objectLiteralAssignability.ts" 7398 } 7399 } 7400 }, 7401 { 7402 "type": "Property", 7403 "method": false, 7404 "shorthand": false, 7405 "computed": false, 7406 "key": { 7407 "type": "Identifier", 7408 "name": "d", 7409 "decorators": [], 7410 "loc": { 7411 "start": { 7412 "line": 68, 7413 "column": 49, 7414 "program": "objectLiteralAssignability.ts" 7415 }, 7416 "end": { 7417 "line": 68, 7418 "column": 50, 7419 "program": "objectLiteralAssignability.ts" 7420 } 7421 } 7422 }, 7423 "value": { 7424 "type": "NumberLiteral", 7425 "value": 5, 7426 "loc": { 7427 "start": { 7428 "line": 68, 7429 "column": 52, 7430 "program": "objectLiteralAssignability.ts" 7431 }, 7432 "end": { 7433 "line": 68, 7434 "column": 53, 7435 "program": "objectLiteralAssignability.ts" 7436 } 7437 } 7438 }, 7439 "kind": "init", 7440 "loc": { 7441 "start": { 7442 "line": 68, 7443 "column": 49, 7444 "program": "objectLiteralAssignability.ts" 7445 }, 7446 "end": { 7447 "line": 68, 7448 "column": 53, 7449 "program": "objectLiteralAssignability.ts" 7450 } 7451 } 7452 } 7453 ], 7454 "loc": { 7455 "start": { 7456 "line": 68, 7457 "column": 25, 7458 "program": "objectLiteralAssignability.ts" 7459 }, 7460 "end": { 7461 "line": 68, 7462 "column": 55, 7463 "program": "objectLiteralAssignability.ts" 7464 } 7465 } 7466 }, 7467 "loc": { 7468 "start": { 7469 "line": 68, 7470 "column": 5, 7471 "program": "objectLiteralAssignability.ts" 7472 }, 7473 "end": { 7474 "line": 68, 7475 "column": 55, 7476 "program": "objectLiteralAssignability.ts" 7477 } 7478 } 7479 } 7480 ], 7481 "kind": "var", 7482 "loc": { 7483 "start": { 7484 "line": 68, 7485 "column": 1, 7486 "program": "objectLiteralAssignability.ts" 7487 }, 7488 "end": { 7489 "line": 68, 7490 "column": 56, 7491 "program": "objectLiteralAssignability.ts" 7492 } 7493 } 7494 }, 7495 { 7496 "type": "VariableDeclaration", 7497 "declarations": [ 7498 { 7499 "type": "VariableDeclarator", 7500 "id": { 7501 "type": "Identifier", 7502 "name": "obj14", 7503 "typeAnnotation": { 7504 "type": "TSUnionType", 7505 "types": [ 7506 { 7507 "type": "TSTypeLiteral", 7508 "members": [ 7509 { 7510 "type": "TSPropertySignature", 7511 "computed": false, 7512 "optional": false, 7513 "readonly": false, 7514 "key": { 7515 "type": "Identifier", 7516 "name": "a", 7517 "decorators": [], 7518 "loc": { 7519 "start": { 7520 "line": 69, 7521 "column": 14, 7522 "program": "objectLiteralAssignability.ts" 7523 }, 7524 "end": { 7525 "line": 69, 7526 "column": 15, 7527 "program": "objectLiteralAssignability.ts" 7528 } 7529 } 7530 }, 7531 "typeAnnotation": { 7532 "type": "TSUnionType", 7533 "types": [ 7534 { 7535 "type": "TSArrayType", 7536 "elementType": { 7537 "type": "TSNumberKeyword", 7538 "loc": { 7539 "start": { 7540 "line": 69, 7541 "column": 17, 7542 "program": "objectLiteralAssignability.ts" 7543 }, 7544 "end": { 7545 "line": 69, 7546 "column": 23, 7547 "program": "objectLiteralAssignability.ts" 7548 } 7549 } 7550 }, 7551 "annotations": [], 7552 "loc": { 7553 "start": { 7554 "line": 69, 7555 "column": 17, 7556 "program": "objectLiteralAssignability.ts" 7557 }, 7558 "end": { 7559 "line": 69, 7560 "column": 25, 7561 "program": "objectLiteralAssignability.ts" 7562 } 7563 } 7564 }, 7565 { 7566 "type": "TSTupleType", 7567 "elementTypes": [ 7568 { 7569 "type": "TSStringKeyword", 7570 "loc": { 7571 "start": { 7572 "line": 69, 7573 "column": 29, 7574 "program": "objectLiteralAssignability.ts" 7575 }, 7576 "end": { 7577 "line": 69, 7578 "column": 36, 7579 "program": "objectLiteralAssignability.ts" 7580 } 7581 } 7582 }, 7583 { 7584 "type": "TSStringKeyword", 7585 "loc": { 7586 "start": { 7587 "line": 69, 7588 "column": 37, 7589 "program": "objectLiteralAssignability.ts" 7590 }, 7591 "end": { 7592 "line": 69, 7593 "column": 44, 7594 "program": "objectLiteralAssignability.ts" 7595 } 7596 } 7597 }, 7598 { 7599 "type": "TSStringKeyword", 7600 "loc": { 7601 "start": { 7602 "line": 69, 7603 "column": 45, 7604 "program": "objectLiteralAssignability.ts" 7605 }, 7606 "end": { 7607 "line": 69, 7608 "column": 52, 7609 "program": "objectLiteralAssignability.ts" 7610 } 7611 } 7612 } 7613 ], 7614 "loc": { 7615 "start": { 7616 "line": 69, 7617 "column": 28, 7618 "program": "objectLiteralAssignability.ts" 7619 }, 7620 "end": { 7621 "line": 69, 7622 "column": 52, 7623 "program": "objectLiteralAssignability.ts" 7624 } 7625 } 7626 } 7627 ], 7628 "loc": { 7629 "start": { 7630 "line": 69, 7631 "column": 17, 7632 "program": "objectLiteralAssignability.ts" 7633 }, 7634 "end": { 7635 "line": 69, 7636 "column": 52, 7637 "program": "objectLiteralAssignability.ts" 7638 } 7639 } 7640 }, 7641 "loc": { 7642 "start": { 7643 "line": 69, 7644 "column": 14, 7645 "program": "objectLiteralAssignability.ts" 7646 }, 7647 "end": { 7648 "line": 69, 7649 "column": 53, 7650 "program": "objectLiteralAssignability.ts" 7651 } 7652 } 7653 }, 7654 { 7655 "type": "TSMethodSignature", 7656 "computed": false, 7657 "optional": true, 7658 "key": { 7659 "type": "Identifier", 7660 "name": "b", 7661 "decorators": [], 7662 "loc": { 7663 "start": { 7664 "line": 69, 7665 "column": 54, 7666 "program": "objectLiteralAssignability.ts" 7667 }, 7668 "end": { 7669 "line": 69, 7670 "column": 55, 7671 "program": "objectLiteralAssignability.ts" 7672 } 7673 } 7674 }, 7675 "params": [ 7676 { 7677 "type": "Identifier", 7678 "name": "a", 7679 "typeAnnotation": { 7680 "type": "TSArrayType", 7681 "elementType": { 7682 "type": "TSNumberKeyword", 7683 "loc": { 7684 "start": { 7685 "line": 69, 7686 "column": 60, 7687 "program": "objectLiteralAssignability.ts" 7688 }, 7689 "end": { 7690 "line": 69, 7691 "column": 66, 7692 "program": "objectLiteralAssignability.ts" 7693 } 7694 } 7695 }, 7696 "annotations": [], 7697 "loc": { 7698 "start": { 7699 "line": 69, 7700 "column": 60, 7701 "program": "objectLiteralAssignability.ts" 7702 }, 7703 "end": { 7704 "line": 69, 7705 "column": 68, 7706 "program": "objectLiteralAssignability.ts" 7707 } 7708 } 7709 }, 7710 "decorators": [], 7711 "loc": { 7712 "start": { 7713 "line": 69, 7714 "column": 57, 7715 "program": "objectLiteralAssignability.ts" 7716 }, 7717 "end": { 7718 "line": 69, 7719 "column": 58, 7720 "program": "objectLiteralAssignability.ts" 7721 } 7722 } 7723 } 7724 ], 7725 "typeAnnotation": { 7726 "type": "TSArrayType", 7727 "elementType": { 7728 "type": "TSStringKeyword", 7729 "loc": { 7730 "start": { 7731 "line": 69, 7732 "column": 71, 7733 "program": "objectLiteralAssignability.ts" 7734 }, 7735 "end": { 7736 "line": 69, 7737 "column": 77, 7738 "program": "objectLiteralAssignability.ts" 7739 } 7740 } 7741 }, 7742 "annotations": [], 7743 "loc": { 7744 "start": { 7745 "line": 69, 7746 "column": 71, 7747 "program": "objectLiteralAssignability.ts" 7748 }, 7749 "end": { 7750 "line": 69, 7751 "column": 79, 7752 "program": "objectLiteralAssignability.ts" 7753 } 7754 } 7755 }, 7756 "loc": { 7757 "start": { 7758 "line": 69, 7759 "column": 54, 7760 "program": "objectLiteralAssignability.ts" 7761 }, 7762 "end": { 7763 "line": 69, 7764 "column": 81, 7765 "program": "objectLiteralAssignability.ts" 7766 } 7767 } 7768 } 7769 ], 7770 "loc": { 7771 "start": { 7772 "line": 69, 7773 "column": 12, 7774 "program": "objectLiteralAssignability.ts" 7775 }, 7776 "end": { 7777 "line": 69, 7778 "column": 81, 7779 "program": "objectLiteralAssignability.ts" 7780 } 7781 } 7782 }, 7783 { 7784 "type": "TSTypeReference", 7785 "typeName": { 7786 "type": "Identifier", 7787 "name": "interface2", 7788 "decorators": [], 7789 "loc": { 7790 "start": { 7791 "line": 69, 7792 "column": 84, 7793 "program": "objectLiteralAssignability.ts" 7794 }, 7795 "end": { 7796 "line": 69, 7797 "column": 94, 7798 "program": "objectLiteralAssignability.ts" 7799 } 7800 } 7801 }, 7802 "loc": { 7803 "start": { 7804 "line": 69, 7805 "column": 84, 7806 "program": "objectLiteralAssignability.ts" 7807 }, 7808 "end": { 7809 "line": 69, 7810 "column": 94, 7811 "program": "objectLiteralAssignability.ts" 7812 } 7813 } 7814 } 7815 ], 7816 "loc": { 7817 "start": { 7818 "line": 69, 7819 "column": 12, 7820 "program": "objectLiteralAssignability.ts" 7821 }, 7822 "end": { 7823 "line": 69, 7824 "column": 94, 7825 "program": "objectLiteralAssignability.ts" 7826 } 7827 } 7828 }, 7829 "decorators": [], 7830 "loc": { 7831 "start": { 7832 "line": 69, 7833 "column": 5, 7834 "program": "objectLiteralAssignability.ts" 7835 }, 7836 "end": { 7837 "line": 69, 7838 "column": 10, 7839 "program": "objectLiteralAssignability.ts" 7840 } 7841 } 7842 }, 7843 "init": null, 7844 "loc": { 7845 "start": { 7846 "line": 69, 7847 "column": 5, 7848 "program": "objectLiteralAssignability.ts" 7849 }, 7850 "end": { 7851 "line": 69, 7852 "column": 10, 7853 "program": "objectLiteralAssignability.ts" 7854 } 7855 } 7856 } 7857 ], 7858 "kind": "var", 7859 "loc": { 7860 "start": { 7861 "line": 69, 7862 "column": 1, 7863 "program": "objectLiteralAssignability.ts" 7864 }, 7865 "end": { 7866 "line": 69, 7867 "column": 95, 7868 "program": "objectLiteralAssignability.ts" 7869 } 7870 } 7871 }, 7872 { 7873 "type": "ExpressionStatement", 7874 "expression": { 7875 "type": "AssignmentExpression", 7876 "operator": "=", 7877 "left": { 7878 "type": "Identifier", 7879 "name": "obj14", 7880 "decorators": [], 7881 "loc": { 7882 "start": { 7883 "line": 70, 7884 "column": 1, 7885 "program": "objectLiteralAssignability.ts" 7886 }, 7887 "end": { 7888 "line": 70, 7889 "column": 6, 7890 "program": "objectLiteralAssignability.ts" 7891 } 7892 } 7893 }, 7894 "right": { 7895 "type": "Identifier", 7896 "name": "obj13", 7897 "decorators": [], 7898 "loc": { 7899 "start": { 7900 "line": 70, 7901 "column": 9, 7902 "program": "objectLiteralAssignability.ts" 7903 }, 7904 "end": { 7905 "line": 70, 7906 "column": 14, 7907 "program": "objectLiteralAssignability.ts" 7908 } 7909 } 7910 }, 7911 "loc": { 7912 "start": { 7913 "line": 70, 7914 "column": 1, 7915 "program": "objectLiteralAssignability.ts" 7916 }, 7917 "end": { 7918 "line": 70, 7919 "column": 14, 7920 "program": "objectLiteralAssignability.ts" 7921 } 7922 } 7923 }, 7924 "loc": { 7925 "start": { 7926 "line": 70, 7927 "column": 1, 7928 "program": "objectLiteralAssignability.ts" 7929 }, 7930 "end": { 7931 "line": 70, 7932 "column": 15, 7933 "program": "objectLiteralAssignability.ts" 7934 } 7935 } 7936 }, 7937 { 7938 "type": "ExpressionStatement", 7939 "expression": { 7940 "type": "AssignmentExpression", 7941 "operator": "=", 7942 "left": { 7943 "type": "Identifier", 7944 "name": "obj14", 7945 "decorators": [], 7946 "loc": { 7947 "start": { 7948 "line": 71, 7949 "column": 1, 7950 "program": "objectLiteralAssignability.ts" 7951 }, 7952 "end": { 7953 "line": 71, 7954 "column": 6, 7955 "program": "objectLiteralAssignability.ts" 7956 } 7957 } 7958 }, 7959 "right": { 7960 "type": "ObjectExpression", 7961 "properties": [ 7962 { 7963 "type": "Property", 7964 "method": false, 7965 "shorthand": false, 7966 "computed": false, 7967 "key": { 7968 "type": "Identifier", 7969 "name": "a", 7970 "decorators": [], 7971 "loc": { 7972 "start": { 7973 "line": 71, 7974 "column": 11, 7975 "program": "objectLiteralAssignability.ts" 7976 }, 7977 "end": { 7978 "line": 71, 7979 "column": 12, 7980 "program": "objectLiteralAssignability.ts" 7981 } 7982 } 7983 }, 7984 "value": { 7985 "type": "NumberLiteral", 7986 "value": 5, 7987 "loc": { 7988 "start": { 7989 "line": 71, 7990 "column": 14, 7991 "program": "objectLiteralAssignability.ts" 7992 }, 7993 "end": { 7994 "line": 71, 7995 "column": 15, 7996 "program": "objectLiteralAssignability.ts" 7997 } 7998 } 7999 }, 8000 "kind": "init", 8001 "loc": { 8002 "start": { 8003 "line": 71, 8004 "column": 11, 8005 "program": "objectLiteralAssignability.ts" 8006 }, 8007 "end": { 8008 "line": 71, 8009 "column": 15, 8010 "program": "objectLiteralAssignability.ts" 8011 } 8012 } 8013 }, 8014 { 8015 "type": "Property", 8016 "method": false, 8017 "shorthand": false, 8018 "computed": false, 8019 "key": { 8020 "type": "Identifier", 8021 "name": "b", 8022 "decorators": [], 8023 "loc": { 8024 "start": { 8025 "line": 71, 8026 "column": 17, 8027 "program": "objectLiteralAssignability.ts" 8028 }, 8029 "end": { 8030 "line": 71, 8031 "column": 18, 8032 "program": "objectLiteralAssignability.ts" 8033 } 8034 } 8035 }, 8036 "value": { 8037 "type": "StringLiteral", 8038 "value": "foo", 8039 "loc": { 8040 "start": { 8041 "line": 71, 8042 "column": 20, 8043 "program": "objectLiteralAssignability.ts" 8044 }, 8045 "end": { 8046 "line": 71, 8047 "column": 25, 8048 "program": "objectLiteralAssignability.ts" 8049 } 8050 } 8051 }, 8052 "kind": "init", 8053 "loc": { 8054 "start": { 8055 "line": 71, 8056 "column": 17, 8057 "program": "objectLiteralAssignability.ts" 8058 }, 8059 "end": { 8060 "line": 71, 8061 "column": 25, 8062 "program": "objectLiteralAssignability.ts" 8063 } 8064 } 8065 }, 8066 { 8067 "type": "Property", 8068 "method": false, 8069 "shorthand": false, 8070 "computed": false, 8071 "key": { 8072 "type": "Identifier", 8073 "name": "c", 8074 "decorators": [], 8075 "loc": { 8076 "start": { 8077 "line": 71, 8078 "column": 27, 8079 "program": "objectLiteralAssignability.ts" 8080 }, 8081 "end": { 8082 "line": 71, 8083 "column": 28, 8084 "program": "objectLiteralAssignability.ts" 8085 } 8086 } 8087 }, 8088 "value": { 8089 "type": "NumberLiteral", 8090 "value": 5, 8091 "loc": { 8092 "start": { 8093 "line": 71, 8094 "column": 30, 8095 "program": "objectLiteralAssignability.ts" 8096 }, 8097 "end": { 8098 "line": 71, 8099 "column": 31, 8100 "program": "objectLiteralAssignability.ts" 8101 } 8102 } 8103 }, 8104 "kind": "init", 8105 "loc": { 8106 "start": { 8107 "line": 71, 8108 "column": 27, 8109 "program": "objectLiteralAssignability.ts" 8110 }, 8111 "end": { 8112 "line": 71, 8113 "column": 31, 8114 "program": "objectLiteralAssignability.ts" 8115 } 8116 } 8117 }, 8118 { 8119 "type": "Property", 8120 "method": false, 8121 "shorthand": false, 8122 "computed": false, 8123 "key": { 8124 "type": "Identifier", 8125 "name": "d", 8126 "decorators": [], 8127 "loc": { 8128 "start": { 8129 "line": 71, 8130 "column": 33, 8131 "program": "objectLiteralAssignability.ts" 8132 }, 8133 "end": { 8134 "line": 71, 8135 "column": 34, 8136 "program": "objectLiteralAssignability.ts" 8137 } 8138 } 8139 }, 8140 "value": { 8141 "type": "NumberLiteral", 8142 "value": 5, 8143 "loc": { 8144 "start": { 8145 "line": 71, 8146 "column": 36, 8147 "program": "objectLiteralAssignability.ts" 8148 }, 8149 "end": { 8150 "line": 71, 8151 "column": 37, 8152 "program": "objectLiteralAssignability.ts" 8153 } 8154 } 8155 }, 8156 "kind": "init", 8157 "loc": { 8158 "start": { 8159 "line": 71, 8160 "column": 33, 8161 "program": "objectLiteralAssignability.ts" 8162 }, 8163 "end": { 8164 "line": 71, 8165 "column": 37, 8166 "program": "objectLiteralAssignability.ts" 8167 } 8168 } 8169 } 8170 ], 8171 "loc": { 8172 "start": { 8173 "line": 71, 8174 "column": 9, 8175 "program": "objectLiteralAssignability.ts" 8176 }, 8177 "end": { 8178 "line": 71, 8179 "column": 39, 8180 "program": "objectLiteralAssignability.ts" 8181 } 8182 } 8183 }, 8184 "loc": { 8185 "start": { 8186 "line": 71, 8187 "column": 1, 8188 "program": "objectLiteralAssignability.ts" 8189 }, 8190 "end": { 8191 "line": 71, 8192 "column": 39, 8193 "program": "objectLiteralAssignability.ts" 8194 } 8195 } 8196 }, 8197 "loc": { 8198 "start": { 8199 "line": 71, 8200 "column": 1, 8201 "program": "objectLiteralAssignability.ts" 8202 }, 8203 "end": { 8204 "line": 71, 8205 "column": 40, 8206 "program": "objectLiteralAssignability.ts" 8207 } 8208 } 8209 }, 8210 { 8211 "type": "ExpressionStatement", 8212 "expression": { 8213 "type": "AssignmentExpression", 8214 "operator": "=", 8215 "left": { 8216 "type": "Identifier", 8217 "name": "obj14", 8218 "decorators": [], 8219 "loc": { 8220 "start": { 8221 "line": 72, 8222 "column": 1, 8223 "program": "objectLiteralAssignability.ts" 8224 }, 8225 "end": { 8226 "line": 72, 8227 "column": 6, 8228 "program": "objectLiteralAssignability.ts" 8229 } 8230 } 8231 }, 8232 "right": { 8233 "type": "ObjectExpression", 8234 "properties": [ 8235 { 8236 "type": "Property", 8237 "method": false, 8238 "shorthand": false, 8239 "computed": false, 8240 "key": { 8241 "type": "Identifier", 8242 "name": "a", 8243 "decorators": [], 8244 "loc": { 8245 "start": { 8246 "line": 72, 8247 "column": 11, 8248 "program": "objectLiteralAssignability.ts" 8249 }, 8250 "end": { 8251 "line": 72, 8252 "column": 12, 8253 "program": "objectLiteralAssignability.ts" 8254 } 8255 } 8256 }, 8257 "value": { 8258 "type": "ArrayExpression", 8259 "elements": [ 8260 { 8261 "type": "NumberLiteral", 8262 "value": 1, 8263 "loc": { 8264 "start": { 8265 "line": 72, 8266 "column": 15, 8267 "program": "objectLiteralAssignability.ts" 8268 }, 8269 "end": { 8270 "line": 72, 8271 "column": 16, 8272 "program": "objectLiteralAssignability.ts" 8273 } 8274 } 8275 }, 8276 { 8277 "type": "NumberLiteral", 8278 "value": 2, 8279 "loc": { 8280 "start": { 8281 "line": 72, 8282 "column": 18, 8283 "program": "objectLiteralAssignability.ts" 8284 }, 8285 "end": { 8286 "line": 72, 8287 "column": 19, 8288 "program": "objectLiteralAssignability.ts" 8289 } 8290 } 8291 }, 8292 { 8293 "type": "NumberLiteral", 8294 "value": 3, 8295 "loc": { 8296 "start": { 8297 "line": 72, 8298 "column": 21, 8299 "program": "objectLiteralAssignability.ts" 8300 }, 8301 "end": { 8302 "line": 72, 8303 "column": 22, 8304 "program": "objectLiteralAssignability.ts" 8305 } 8306 } 8307 } 8308 ], 8309 "loc": { 8310 "start": { 8311 "line": 72, 8312 "column": 14, 8313 "program": "objectLiteralAssignability.ts" 8314 }, 8315 "end": { 8316 "line": 72, 8317 "column": 23, 8318 "program": "objectLiteralAssignability.ts" 8319 } 8320 } 8321 }, 8322 "kind": "init", 8323 "loc": { 8324 "start": { 8325 "line": 72, 8326 "column": 11, 8327 "program": "objectLiteralAssignability.ts" 8328 }, 8329 "end": { 8330 "line": 72, 8331 "column": 23, 8332 "program": "objectLiteralAssignability.ts" 8333 } 8334 } 8335 } 8336 ], 8337 "loc": { 8338 "start": { 8339 "line": 72, 8340 "column": 9, 8341 "program": "objectLiteralAssignability.ts" 8342 }, 8343 "end": { 8344 "line": 72, 8345 "column": 25, 8346 "program": "objectLiteralAssignability.ts" 8347 } 8348 } 8349 }, 8350 "loc": { 8351 "start": { 8352 "line": 72, 8353 "column": 1, 8354 "program": "objectLiteralAssignability.ts" 8355 }, 8356 "end": { 8357 "line": 72, 8358 "column": 25, 8359 "program": "objectLiteralAssignability.ts" 8360 } 8361 } 8362 }, 8363 "loc": { 8364 "start": { 8365 "line": 72, 8366 "column": 1, 8367 "program": "objectLiteralAssignability.ts" 8368 }, 8369 "end": { 8370 "line": 72, 8371 "column": 26, 8372 "program": "objectLiteralAssignability.ts" 8373 } 8374 } 8375 }, 8376 { 8377 "type": "ExpressionStatement", 8378 "expression": { 8379 "type": "AssignmentExpression", 8380 "operator": "=", 8381 "left": { 8382 "type": "Identifier", 8383 "name": "obj14", 8384 "decorators": [], 8385 "loc": { 8386 "start": { 8387 "line": 73, 8388 "column": 1, 8389 "program": "objectLiteralAssignability.ts" 8390 }, 8391 "end": { 8392 "line": 73, 8393 "column": 6, 8394 "program": "objectLiteralAssignability.ts" 8395 } 8396 } 8397 }, 8398 "right": { 8399 "type": "ObjectExpression", 8400 "properties": [ 8401 { 8402 "type": "Property", 8403 "method": false, 8404 "shorthand": false, 8405 "computed": false, 8406 "key": { 8407 "type": "Identifier", 8408 "name": "a", 8409 "decorators": [], 8410 "loc": { 8411 "start": { 8412 "line": 73, 8413 "column": 11, 8414 "program": "objectLiteralAssignability.ts" 8415 }, 8416 "end": { 8417 "line": 73, 8418 "column": 12, 8419 "program": "objectLiteralAssignability.ts" 8420 } 8421 } 8422 }, 8423 "value": { 8424 "type": "ArrayExpression", 8425 "elements": [ 8426 { 8427 "type": "StringLiteral", 8428 "value": "foo", 8429 "loc": { 8430 "start": { 8431 "line": 73, 8432 "column": 15, 8433 "program": "objectLiteralAssignability.ts" 8434 }, 8435 "end": { 8436 "line": 73, 8437 "column": 20, 8438 "program": "objectLiteralAssignability.ts" 8439 } 8440 } 8441 }, 8442 { 8443 "type": "StringLiteral", 8444 "value": "bar", 8445 "loc": { 8446 "start": { 8447 "line": 73, 8448 "column": 22, 8449 "program": "objectLiteralAssignability.ts" 8450 }, 8451 "end": { 8452 "line": 73, 8453 "column": 27, 8454 "program": "objectLiteralAssignability.ts" 8455 } 8456 } 8457 }, 8458 { 8459 "type": "StringLiteral", 8460 "value": "baz", 8461 "loc": { 8462 "start": { 8463 "line": 73, 8464 "column": 29, 8465 "program": "objectLiteralAssignability.ts" 8466 }, 8467 "end": { 8468 "line": 73, 8469 "column": 34, 8470 "program": "objectLiteralAssignability.ts" 8471 } 8472 } 8473 } 8474 ], 8475 "loc": { 8476 "start": { 8477 "line": 73, 8478 "column": 14, 8479 "program": "objectLiteralAssignability.ts" 8480 }, 8481 "end": { 8482 "line": 73, 8483 "column": 35, 8484 "program": "objectLiteralAssignability.ts" 8485 } 8486 } 8487 }, 8488 "kind": "init", 8489 "loc": { 8490 "start": { 8491 "line": 73, 8492 "column": 11, 8493 "program": "objectLiteralAssignability.ts" 8494 }, 8495 "end": { 8496 "line": 73, 8497 "column": 35, 8498 "program": "objectLiteralAssignability.ts" 8499 } 8500 } 8501 } 8502 ], 8503 "loc": { 8504 "start": { 8505 "line": 73, 8506 "column": 9, 8507 "program": "objectLiteralAssignability.ts" 8508 }, 8509 "end": { 8510 "line": 73, 8511 "column": 37, 8512 "program": "objectLiteralAssignability.ts" 8513 } 8514 } 8515 }, 8516 "loc": { 8517 "start": { 8518 "line": 73, 8519 "column": 1, 8520 "program": "objectLiteralAssignability.ts" 8521 }, 8522 "end": { 8523 "line": 73, 8524 "column": 37, 8525 "program": "objectLiteralAssignability.ts" 8526 } 8527 } 8528 }, 8529 "loc": { 8530 "start": { 8531 "line": 73, 8532 "column": 1, 8533 "program": "objectLiteralAssignability.ts" 8534 }, 8535 "end": { 8536 "line": 73, 8537 "column": 38, 8538 "program": "objectLiteralAssignability.ts" 8539 } 8540 } 8541 }, 8542 { 8543 "type": "ExpressionStatement", 8544 "expression": { 8545 "type": "AssignmentExpression", 8546 "operator": "=", 8547 "left": { 8548 "type": "Identifier", 8549 "name": "obj14", 8550 "decorators": [], 8551 "loc": { 8552 "start": { 8553 "line": 74, 8554 "column": 1, 8555 "program": "objectLiteralAssignability.ts" 8556 }, 8557 "end": { 8558 "line": 74, 8559 "column": 6, 8560 "program": "objectLiteralAssignability.ts" 8561 } 8562 } 8563 }, 8564 "right": { 8565 "type": "ObjectExpression", 8566 "properties": [ 8567 { 8568 "type": "Property", 8569 "method": false, 8570 "shorthand": false, 8571 "computed": false, 8572 "key": { 8573 "type": "Identifier", 8574 "name": "a", 8575 "decorators": [], 8576 "loc": { 8577 "start": { 8578 "line": 74, 8579 "column": 11, 8580 "program": "objectLiteralAssignability.ts" 8581 }, 8582 "end": { 8583 "line": 74, 8584 "column": 12, 8585 "program": "objectLiteralAssignability.ts" 8586 } 8587 } 8588 }, 8589 "value": { 8590 "type": "ArrayExpression", 8591 "elements": [ 8592 { 8593 "type": "StringLiteral", 8594 "value": "foo", 8595 "loc": { 8596 "start": { 8597 "line": 74, 8598 "column": 15, 8599 "program": "objectLiteralAssignability.ts" 8600 }, 8601 "end": { 8602 "line": 74, 8603 "column": 20, 8604 "program": "objectLiteralAssignability.ts" 8605 } 8606 } 8607 }, 8608 { 8609 "type": "StringLiteral", 8610 "value": "bar", 8611 "loc": { 8612 "start": { 8613 "line": 74, 8614 "column": 22, 8615 "program": "objectLiteralAssignability.ts" 8616 }, 8617 "end": { 8618 "line": 74, 8619 "column": 27, 8620 "program": "objectLiteralAssignability.ts" 8621 } 8622 } 8623 }, 8624 { 8625 "type": "StringLiteral", 8626 "value": "baz", 8627 "loc": { 8628 "start": { 8629 "line": 74, 8630 "column": 29, 8631 "program": "objectLiteralAssignability.ts" 8632 }, 8633 "end": { 8634 "line": 74, 8635 "column": 34, 8636 "program": "objectLiteralAssignability.ts" 8637 } 8638 } 8639 } 8640 ], 8641 "loc": { 8642 "start": { 8643 "line": 74, 8644 "column": 14, 8645 "program": "objectLiteralAssignability.ts" 8646 }, 8647 "end": { 8648 "line": 74, 8649 "column": 35, 8650 "program": "objectLiteralAssignability.ts" 8651 } 8652 } 8653 }, 8654 "kind": "init", 8655 "loc": { 8656 "start": { 8657 "line": 74, 8658 "column": 11, 8659 "program": "objectLiteralAssignability.ts" 8660 }, 8661 "end": { 8662 "line": 74, 8663 "column": 35, 8664 "program": "objectLiteralAssignability.ts" 8665 } 8666 } 8667 }, 8668 { 8669 "type": "Property", 8670 "method": false, 8671 "shorthand": false, 8672 "computed": false, 8673 "key": { 8674 "type": "Identifier", 8675 "name": "b", 8676 "decorators": [], 8677 "loc": { 8678 "start": { 8679 "line": 74, 8680 "column": 37, 8681 "program": "objectLiteralAssignability.ts" 8682 }, 8683 "end": { 8684 "line": 74, 8685 "column": 38, 8686 "program": "objectLiteralAssignability.ts" 8687 } 8688 } 8689 }, 8690 "value": { 8691 "type": "FunctionExpression", 8692 "function": { 8693 "type": "ScriptFunction", 8694 "id": null, 8695 "generator": false, 8696 "async": false, 8697 "expression": false, 8698 "params": [ 8699 { 8700 "type": "Identifier", 8701 "name": "a", 8702 "typeAnnotation": { 8703 "type": "TSParenthesizedType", 8704 "typeAnnotation": { 8705 "type": "TSArrayType", 8706 "elementType": { 8707 "type": "TSNumberKeyword", 8708 "loc": { 8709 "start": { 8710 "line": 74, 8711 "column": 54, 8712 "program": "objectLiteralAssignability.ts" 8713 }, 8714 "end": { 8715 "line": 74, 8716 "column": 60, 8717 "program": "objectLiteralAssignability.ts" 8718 } 8719 } 8720 }, 8721 "annotations": [], 8722 "loc": { 8723 "start": { 8724 "line": 74, 8725 "column": 54, 8726 "program": "objectLiteralAssignability.ts" 8727 }, 8728 "end": { 8729 "line": 74, 8730 "column": 62, 8731 "program": "objectLiteralAssignability.ts" 8732 } 8733 } 8734 }, 8735 "loc": { 8736 "start": { 8737 "line": 74, 8738 "column": 53, 8739 "program": "objectLiteralAssignability.ts" 8740 }, 8741 "end": { 8742 "line": 74, 8743 "column": 63, 8744 "program": "objectLiteralAssignability.ts" 8745 } 8746 } 8747 }, 8748 "decorators": [], 8749 "loc": { 8750 "start": { 8751 "line": 74, 8752 "column": 50, 8753 "program": "objectLiteralAssignability.ts" 8754 }, 8755 "end": { 8756 "line": 74, 8757 "column": 51, 8758 "program": "objectLiteralAssignability.ts" 8759 } 8760 } 8761 } 8762 ], 8763 "body": { 8764 "type": "BlockStatement", 8765 "statements": [ 8766 { 8767 "type": "ReturnStatement", 8768 "argument": { 8769 "type": "ArrayExpression", 8770 "elements": [ 8771 { 8772 "type": "StringLiteral", 8773 "value": "foo", 8774 "loc": { 8775 "start": { 8776 "line": 74, 8777 "column": 75, 8778 "program": "objectLiteralAssignability.ts" 8779 }, 8780 "end": { 8781 "line": 74, 8782 "column": 80, 8783 "program": "objectLiteralAssignability.ts" 8784 } 8785 } 8786 }, 8787 { 8788 "type": "StringLiteral", 8789 "value": "bar", 8790 "loc": { 8791 "start": { 8792 "line": 74, 8793 "column": 82, 8794 "program": "objectLiteralAssignability.ts" 8795 }, 8796 "end": { 8797 "line": 74, 8798 "column": 87, 8799 "program": "objectLiteralAssignability.ts" 8800 } 8801 } 8802 }, 8803 { 8804 "type": "StringLiteral", 8805 "value": "baz", 8806 "loc": { 8807 "start": { 8808 "line": 74, 8809 "column": 89, 8810 "program": "objectLiteralAssignability.ts" 8811 }, 8812 "end": { 8813 "line": 74, 8814 "column": 94, 8815 "program": "objectLiteralAssignability.ts" 8816 } 8817 } 8818 } 8819 ], 8820 "loc": { 8821 "start": { 8822 "line": 74, 8823 "column": 74, 8824 "program": "objectLiteralAssignability.ts" 8825 }, 8826 "end": { 8827 "line": 74, 8828 "column": 95, 8829 "program": "objectLiteralAssignability.ts" 8830 } 8831 } 8832 }, 8833 "loc": { 8834 "start": { 8835 "line": 74, 8836 "column": 67, 8837 "program": "objectLiteralAssignability.ts" 8838 }, 8839 "end": { 8840 "line": 74, 8841 "column": 95, 8842 "program": "objectLiteralAssignability.ts" 8843 } 8844 } 8845 } 8846 ], 8847 "loc": { 8848 "start": { 8849 "line": 74, 8850 "column": 65, 8851 "program": "objectLiteralAssignability.ts" 8852 }, 8853 "end": { 8854 "line": 74, 8855 "column": 97, 8856 "program": "objectLiteralAssignability.ts" 8857 } 8858 } 8859 }, 8860 "loc": { 8861 "start": { 8862 "line": 74, 8863 "column": 40, 8864 "program": "objectLiteralAssignability.ts" 8865 }, 8866 "end": { 8867 "line": 74, 8868 "column": 97, 8869 "program": "objectLiteralAssignability.ts" 8870 } 8871 } 8872 }, 8873 "loc": { 8874 "start": { 8875 "line": 74, 8876 "column": 40, 8877 "program": "objectLiteralAssignability.ts" 8878 }, 8879 "end": { 8880 "line": 74, 8881 "column": 97, 8882 "program": "objectLiteralAssignability.ts" 8883 } 8884 } 8885 }, 8886 "kind": "init", 8887 "loc": { 8888 "start": { 8889 "line": 74, 8890 "column": 37, 8891 "program": "objectLiteralAssignability.ts" 8892 }, 8893 "end": { 8894 "line": 74, 8895 "column": 97, 8896 "program": "objectLiteralAssignability.ts" 8897 } 8898 } 8899 } 8900 ], 8901 "loc": { 8902 "start": { 8903 "line": 74, 8904 "column": 9, 8905 "program": "objectLiteralAssignability.ts" 8906 }, 8907 "end": { 8908 "line": 74, 8909 "column": 99, 8910 "program": "objectLiteralAssignability.ts" 8911 } 8912 } 8913 }, 8914 "loc": { 8915 "start": { 8916 "line": 74, 8917 "column": 1, 8918 "program": "objectLiteralAssignability.ts" 8919 }, 8920 "end": { 8921 "line": 74, 8922 "column": 99, 8923 "program": "objectLiteralAssignability.ts" 8924 } 8925 } 8926 }, 8927 "loc": { 8928 "start": { 8929 "line": 74, 8930 "column": 1, 8931 "program": "objectLiteralAssignability.ts" 8932 }, 8933 "end": { 8934 "line": 74, 8935 "column": 100, 8936 "program": "objectLiteralAssignability.ts" 8937 } 8938 } 8939 }, 8940 { 8941 "type": "TSInterfaceDeclaration", 8942 "body": { 8943 "type": "TSInterfaceBody", 8944 "body": [ 8945 { 8946 "type": "TSPropertySignature", 8947 "computed": false, 8948 "optional": false, 8949 "readonly": false, 8950 "key": { 8951 "type": "Identifier", 8952 "name": "a", 8953 "decorators": [], 8954 "loc": { 8955 "start": { 8956 "line": 77, 8957 "column": 5, 8958 "program": "objectLiteralAssignability.ts" 8959 }, 8960 "end": { 8961 "line": 77, 8962 "column": 6, 8963 "program": "objectLiteralAssignability.ts" 8964 } 8965 } 8966 }, 8967 "typeAnnotation": { 8968 "type": "TSUnionType", 8969 "types": [ 8970 { 8971 "type": "TSNumberKeyword", 8972 "loc": { 8973 "start": { 8974 "line": 77, 8975 "column": 8, 8976 "program": "objectLiteralAssignability.ts" 8977 }, 8978 "end": { 8979 "line": 77, 8980 "column": 14, 8981 "program": "objectLiteralAssignability.ts" 8982 } 8983 } 8984 }, 8985 { 8986 "type": "TSStringKeyword", 8987 "loc": { 8988 "start": { 8989 "line": 77, 8990 "column": 17, 8991 "program": "objectLiteralAssignability.ts" 8992 }, 8993 "end": { 8994 "line": 77, 8995 "column": 23, 8996 "program": "objectLiteralAssignability.ts" 8997 } 8998 } 8999 }, 9000 { 9001 "type": "TSBooleanKeyword", 9002 "loc": { 9003 "start": { 9004 "line": 77, 9005 "column": 26, 9006 "program": "objectLiteralAssignability.ts" 9007 }, 9008 "end": { 9009 "line": 77, 9010 "column": 33, 9011 "program": "objectLiteralAssignability.ts" 9012 } 9013 } 9014 } 9015 ], 9016 "loc": { 9017 "start": { 9018 "line": 77, 9019 "column": 8, 9020 "program": "objectLiteralAssignability.ts" 9021 }, 9022 "end": { 9023 "line": 77, 9024 "column": 33, 9025 "program": "objectLiteralAssignability.ts" 9026 } 9027 } 9028 }, 9029 "loc": { 9030 "start": { 9031 "line": 77, 9032 "column": 5, 9033 "program": "objectLiteralAssignability.ts" 9034 }, 9035 "end": { 9036 "line": 78, 9037 "column": 2, 9038 "program": "objectLiteralAssignability.ts" 9039 } 9040 } 9041 } 9042 ], 9043 "loc": { 9044 "start": { 9045 "line": 76, 9046 "column": 22, 9047 "program": "objectLiteralAssignability.ts" 9048 }, 9049 "end": { 9050 "line": 78, 9051 "column": 2, 9052 "program": "objectLiteralAssignability.ts" 9053 } 9054 } 9055 }, 9056 "id": { 9057 "type": "Identifier", 9058 "name": "interface3", 9059 "decorators": [], 9060 "loc": { 9061 "start": { 9062 "line": 76, 9063 "column": 11, 9064 "program": "objectLiteralAssignability.ts" 9065 }, 9066 "end": { 9067 "line": 76, 9068 "column": 21, 9069 "program": "objectLiteralAssignability.ts" 9070 } 9071 } 9072 }, 9073 "extends": [], 9074 "loc": { 9075 "start": { 9076 "line": 76, 9077 "column": 1, 9078 "program": "objectLiteralAssignability.ts" 9079 }, 9080 "end": { 9081 "line": 78, 9082 "column": 2, 9083 "program": "objectLiteralAssignability.ts" 9084 } 9085 } 9086 }, 9087 { 9088 "type": "TSInterfaceDeclaration", 9089 "body": { 9090 "type": "TSInterfaceBody", 9091 "body": [ 9092 { 9093 "type": "TSPropertySignature", 9094 "computed": false, 9095 "optional": false, 9096 "readonly": false, 9097 "key": { 9098 "type": "Identifier", 9099 "name": "a", 9100 "decorators": [], 9101 "loc": { 9102 "start": { 9103 "line": 81, 9104 "column": 5, 9105 "program": "objectLiteralAssignability.ts" 9106 }, 9107 "end": { 9108 "line": 81, 9109 "column": 6, 9110 "program": "objectLiteralAssignability.ts" 9111 } 9112 } 9113 }, 9114 "typeAnnotation": { 9115 "type": "TSNumberKeyword", 9116 "loc": { 9117 "start": { 9118 "line": 81, 9119 "column": 8, 9120 "program": "objectLiteralAssignability.ts" 9121 }, 9122 "end": { 9123 "line": 81, 9124 "column": 14, 9125 "program": "objectLiteralAssignability.ts" 9126 } 9127 } 9128 }, 9129 "loc": { 9130 "start": { 9131 "line": 81, 9132 "column": 5, 9133 "program": "objectLiteralAssignability.ts" 9134 }, 9135 "end": { 9136 "line": 82, 9137 "column": 2, 9138 "program": "objectLiteralAssignability.ts" 9139 } 9140 } 9141 } 9142 ], 9143 "loc": { 9144 "start": { 9145 "line": 80, 9146 "column": 41, 9147 "program": "objectLiteralAssignability.ts" 9148 }, 9149 "end": { 9150 "line": 82, 9151 "column": 2, 9152 "program": "objectLiteralAssignability.ts" 9153 } 9154 } 9155 }, 9156 "id": { 9157 "type": "Identifier", 9158 "name": "interface4", 9159 "decorators": [], 9160 "loc": { 9161 "start": { 9162 "line": 80, 9163 "column": 11, 9164 "program": "objectLiteralAssignability.ts" 9165 }, 9166 "end": { 9167 "line": 80, 9168 "column": 21, 9169 "program": "objectLiteralAssignability.ts" 9170 } 9171 } 9172 }, 9173 "extends": [ 9174 { 9175 "type": "TSInterfaceHeritage", 9176 "expression": { 9177 "type": "TSTypeReference", 9178 "typeName": { 9179 "type": "Identifier", 9180 "name": "interface3", 9181 "decorators": [], 9182 "loc": { 9183 "start": { 9184 "line": 80, 9185 "column": 30, 9186 "program": "objectLiteralAssignability.ts" 9187 }, 9188 "end": { 9189 "line": 80, 9190 "column": 40, 9191 "program": "objectLiteralAssignability.ts" 9192 } 9193 } 9194 }, 9195 "loc": { 9196 "start": { 9197 "line": 80, 9198 "column": 41, 9199 "program": "objectLiteralAssignability.ts" 9200 }, 9201 "end": { 9202 "line": 80, 9203 "column": 40, 9204 "program": "objectLiteralAssignability.ts" 9205 } 9206 } 9207 }, 9208 "loc": { 9209 "start": { 9210 "line": 80, 9211 "column": 41, 9212 "program": "objectLiteralAssignability.ts" 9213 }, 9214 "end": { 9215 "line": 80, 9216 "column": 40, 9217 "program": "objectLiteralAssignability.ts" 9218 } 9219 } 9220 } 9221 ], 9222 "loc": { 9223 "start": { 9224 "line": 80, 9225 "column": 1, 9226 "program": "objectLiteralAssignability.ts" 9227 }, 9228 "end": { 9229 "line": 82, 9230 "column": 2, 9231 "program": "objectLiteralAssignability.ts" 9232 } 9233 } 9234 }, 9235 { 9236 "type": "TSInterfaceDeclaration", 9237 "body": { 9238 "type": "TSInterfaceBody", 9239 "body": [ 9240 { 9241 "type": "TSPropertySignature", 9242 "computed": false, 9243 "optional": false, 9244 "readonly": false, 9245 "key": { 9246 "type": "Identifier", 9247 "name": "a", 9248 "decorators": [], 9249 "loc": { 9250 "start": { 9251 "line": 85, 9252 "column": 5, 9253 "program": "objectLiteralAssignability.ts" 9254 }, 9255 "end": { 9256 "line": 85, 9257 "column": 6, 9258 "program": "objectLiteralAssignability.ts" 9259 } 9260 } 9261 }, 9262 "typeAnnotation": { 9263 "type": "TSStringKeyword", 9264 "loc": { 9265 "start": { 9266 "line": 85, 9267 "column": 8, 9268 "program": "objectLiteralAssignability.ts" 9269 }, 9270 "end": { 9271 "line": 85, 9272 "column": 14, 9273 "program": "objectLiteralAssignability.ts" 9274 } 9275 } 9276 }, 9277 "loc": { 9278 "start": { 9279 "line": 85, 9280 "column": 5, 9281 "program": "objectLiteralAssignability.ts" 9282 }, 9283 "end": { 9284 "line": 86, 9285 "column": 2, 9286 "program": "objectLiteralAssignability.ts" 9287 } 9288 } 9289 } 9290 ], 9291 "loc": { 9292 "start": { 9293 "line": 84, 9294 "column": 41, 9295 "program": "objectLiteralAssignability.ts" 9296 }, 9297 "end": { 9298 "line": 86, 9299 "column": 2, 9300 "program": "objectLiteralAssignability.ts" 9301 } 9302 } 9303 }, 9304 "id": { 9305 "type": "Identifier", 9306 "name": "interface5", 9307 "decorators": [], 9308 "loc": { 9309 "start": { 9310 "line": 84, 9311 "column": 11, 9312 "program": "objectLiteralAssignability.ts" 9313 }, 9314 "end": { 9315 "line": 84, 9316 "column": 21, 9317 "program": "objectLiteralAssignability.ts" 9318 } 9319 } 9320 }, 9321 "extends": [ 9322 { 9323 "type": "TSInterfaceHeritage", 9324 "expression": { 9325 "type": "TSTypeReference", 9326 "typeName": { 9327 "type": "Identifier", 9328 "name": "interface3", 9329 "decorators": [], 9330 "loc": { 9331 "start": { 9332 "line": 84, 9333 "column": 30, 9334 "program": "objectLiteralAssignability.ts" 9335 }, 9336 "end": { 9337 "line": 84, 9338 "column": 40, 9339 "program": "objectLiteralAssignability.ts" 9340 } 9341 } 9342 }, 9343 "loc": { 9344 "start": { 9345 "line": 84, 9346 "column": 41, 9347 "program": "objectLiteralAssignability.ts" 9348 }, 9349 "end": { 9350 "line": 84, 9351 "column": 40, 9352 "program": "objectLiteralAssignability.ts" 9353 } 9354 } 9355 }, 9356 "loc": { 9357 "start": { 9358 "line": 84, 9359 "column": 41, 9360 "program": "objectLiteralAssignability.ts" 9361 }, 9362 "end": { 9363 "line": 84, 9364 "column": 40, 9365 "program": "objectLiteralAssignability.ts" 9366 } 9367 } 9368 } 9369 ], 9370 "loc": { 9371 "start": { 9372 "line": 84, 9373 "column": 1, 9374 "program": "objectLiteralAssignability.ts" 9375 }, 9376 "end": { 9377 "line": 86, 9378 "column": 2, 9379 "program": "objectLiteralAssignability.ts" 9380 } 9381 } 9382 }, 9383 { 9384 "type": "TSInterfaceDeclaration", 9385 "body": { 9386 "type": "TSInterfaceBody", 9387 "body": [ 9388 { 9389 "type": "TSPropertySignature", 9390 "computed": false, 9391 "optional": false, 9392 "readonly": false, 9393 "key": { 9394 "type": "Identifier", 9395 "name": "a", 9396 "decorators": [], 9397 "loc": { 9398 "start": { 9399 "line": 89, 9400 "column": 5, 9401 "program": "objectLiteralAssignability.ts" 9402 }, 9403 "end": { 9404 "line": 89, 9405 "column": 6, 9406 "program": "objectLiteralAssignability.ts" 9407 } 9408 } 9409 }, 9410 "typeAnnotation": { 9411 "type": "TSBooleanKeyword", 9412 "loc": { 9413 "start": { 9414 "line": 89, 9415 "column": 8, 9416 "program": "objectLiteralAssignability.ts" 9417 }, 9418 "end": { 9419 "line": 89, 9420 "column": 15, 9421 "program": "objectLiteralAssignability.ts" 9422 } 9423 } 9424 }, 9425 "loc": { 9426 "start": { 9427 "line": 89, 9428 "column": 5, 9429 "program": "objectLiteralAssignability.ts" 9430 }, 9431 "end": { 9432 "line": 90, 9433 "column": 2, 9434 "program": "objectLiteralAssignability.ts" 9435 } 9436 } 9437 } 9438 ], 9439 "loc": { 9440 "start": { 9441 "line": 88, 9442 "column": 41, 9443 "program": "objectLiteralAssignability.ts" 9444 }, 9445 "end": { 9446 "line": 90, 9447 "column": 2, 9448 "program": "objectLiteralAssignability.ts" 9449 } 9450 } 9451 }, 9452 "id": { 9453 "type": "Identifier", 9454 "name": "interface6", 9455 "decorators": [], 9456 "loc": { 9457 "start": { 9458 "line": 88, 9459 "column": 11, 9460 "program": "objectLiteralAssignability.ts" 9461 }, 9462 "end": { 9463 "line": 88, 9464 "column": 21, 9465 "program": "objectLiteralAssignability.ts" 9466 } 9467 } 9468 }, 9469 "extends": [ 9470 { 9471 "type": "TSInterfaceHeritage", 9472 "expression": { 9473 "type": "TSTypeReference", 9474 "typeName": { 9475 "type": "Identifier", 9476 "name": "interface3", 9477 "decorators": [], 9478 "loc": { 9479 "start": { 9480 "line": 88, 9481 "column": 30, 9482 "program": "objectLiteralAssignability.ts" 9483 }, 9484 "end": { 9485 "line": 88, 9486 "column": 40, 9487 "program": "objectLiteralAssignability.ts" 9488 } 9489 } 9490 }, 9491 "loc": { 9492 "start": { 9493 "line": 88, 9494 "column": 41, 9495 "program": "objectLiteralAssignability.ts" 9496 }, 9497 "end": { 9498 "line": 88, 9499 "column": 40, 9500 "program": "objectLiteralAssignability.ts" 9501 } 9502 } 9503 }, 9504 "loc": { 9505 "start": { 9506 "line": 88, 9507 "column": 41, 9508 "program": "objectLiteralAssignability.ts" 9509 }, 9510 "end": { 9511 "line": 88, 9512 "column": 40, 9513 "program": "objectLiteralAssignability.ts" 9514 } 9515 } 9516 } 9517 ], 9518 "loc": { 9519 "start": { 9520 "line": 88, 9521 "column": 1, 9522 "program": "objectLiteralAssignability.ts" 9523 }, 9524 "end": { 9525 "line": 90, 9526 "column": 2, 9527 "program": "objectLiteralAssignability.ts" 9528 } 9529 } 9530 }, 9531 { 9532 "type": "VariableDeclaration", 9533 "declarations": [ 9534 { 9535 "type": "VariableDeclarator", 9536 "id": { 9537 "type": "Identifier", 9538 "name": "obj15", 9539 "typeAnnotation": { 9540 "type": "TSUnionType", 9541 "types": [ 9542 { 9543 "type": "TSTypeReference", 9544 "typeName": { 9545 "type": "Identifier", 9546 "name": "interface4", 9547 "decorators": [], 9548 "loc": { 9549 "start": { 9550 "line": 92, 9551 "column": 12, 9552 "program": "objectLiteralAssignability.ts" 9553 }, 9554 "end": { 9555 "line": 92, 9556 "column": 22, 9557 "program": "objectLiteralAssignability.ts" 9558 } 9559 } 9560 }, 9561 "loc": { 9562 "start": { 9563 "line": 92, 9564 "column": 12, 9565 "program": "objectLiteralAssignability.ts" 9566 }, 9567 "end": { 9568 "line": 92, 9569 "column": 22, 9570 "program": "objectLiteralAssignability.ts" 9571 } 9572 } 9573 }, 9574 { 9575 "type": "TSTypeReference", 9576 "typeName": { 9577 "type": "Identifier", 9578 "name": "interface5", 9579 "decorators": [], 9580 "loc": { 9581 "start": { 9582 "line": 92, 9583 "column": 25, 9584 "program": "objectLiteralAssignability.ts" 9585 }, 9586 "end": { 9587 "line": 92, 9588 "column": 35, 9589 "program": "objectLiteralAssignability.ts" 9590 } 9591 } 9592 }, 9593 "loc": { 9594 "start": { 9595 "line": 92, 9596 "column": 25, 9597 "program": "objectLiteralAssignability.ts" 9598 }, 9599 "end": { 9600 "line": 92, 9601 "column": 35, 9602 "program": "objectLiteralAssignability.ts" 9603 } 9604 } 9605 }, 9606 { 9607 "type": "TSTypeReference", 9608 "typeName": { 9609 "type": "Identifier", 9610 "name": "interface6", 9611 "decorators": [], 9612 "loc": { 9613 "start": { 9614 "line": 92, 9615 "column": 38, 9616 "program": "objectLiteralAssignability.ts" 9617 }, 9618 "end": { 9619 "line": 92, 9620 "column": 48, 9621 "program": "objectLiteralAssignability.ts" 9622 } 9623 } 9624 }, 9625 "loc": { 9626 "start": { 9627 "line": 92, 9628 "column": 38, 9629 "program": "objectLiteralAssignability.ts" 9630 }, 9631 "end": { 9632 "line": 92, 9633 "column": 48, 9634 "program": "objectLiteralAssignability.ts" 9635 } 9636 } 9637 } 9638 ], 9639 "loc": { 9640 "start": { 9641 "line": 92, 9642 "column": 12, 9643 "program": "objectLiteralAssignability.ts" 9644 }, 9645 "end": { 9646 "line": 92, 9647 "column": 48, 9648 "program": "objectLiteralAssignability.ts" 9649 } 9650 } 9651 }, 9652 "decorators": [], 9653 "loc": { 9654 "start": { 9655 "line": 92, 9656 "column": 5, 9657 "program": "objectLiteralAssignability.ts" 9658 }, 9659 "end": { 9660 "line": 92, 9661 "column": 10, 9662 "program": "objectLiteralAssignability.ts" 9663 } 9664 } 9665 }, 9666 "init": null, 9667 "loc": { 9668 "start": { 9669 "line": 92, 9670 "column": 5, 9671 "program": "objectLiteralAssignability.ts" 9672 }, 9673 "end": { 9674 "line": 92, 9675 "column": 10, 9676 "program": "objectLiteralAssignability.ts" 9677 } 9678 } 9679 } 9680 ], 9681 "kind": "var", 9682 "loc": { 9683 "start": { 9684 "line": 92, 9685 "column": 1, 9686 "program": "objectLiteralAssignability.ts" 9687 }, 9688 "end": { 9689 "line": 92, 9690 "column": 49, 9691 "program": "objectLiteralAssignability.ts" 9692 } 9693 } 9694 }, 9695 { 9696 "type": "ExpressionStatement", 9697 "expression": { 9698 "type": "AssignmentExpression", 9699 "operator": "=", 9700 "left": { 9701 "type": "Identifier", 9702 "name": "obj15", 9703 "decorators": [], 9704 "loc": { 9705 "start": { 9706 "line": 93, 9707 "column": 1, 9708 "program": "objectLiteralAssignability.ts" 9709 }, 9710 "end": { 9711 "line": 93, 9712 "column": 6, 9713 "program": "objectLiteralAssignability.ts" 9714 } 9715 } 9716 }, 9717 "right": { 9718 "type": "ObjectExpression", 9719 "properties": [ 9720 { 9721 "type": "Property", 9722 "method": false, 9723 "shorthand": false, 9724 "computed": false, 9725 "key": { 9726 "type": "Identifier", 9727 "name": "a", 9728 "decorators": [], 9729 "loc": { 9730 "start": { 9731 "line": 93, 9732 "column": 11, 9733 "program": "objectLiteralAssignability.ts" 9734 }, 9735 "end": { 9736 "line": 93, 9737 "column": 12, 9738 "program": "objectLiteralAssignability.ts" 9739 } 9740 } 9741 }, 9742 "value": { 9743 "type": "NumberLiteral", 9744 "value": 5, 9745 "loc": { 9746 "start": { 9747 "line": 93, 9748 "column": 14, 9749 "program": "objectLiteralAssignability.ts" 9750 }, 9751 "end": { 9752 "line": 93, 9753 "column": 15, 9754 "program": "objectLiteralAssignability.ts" 9755 } 9756 } 9757 }, 9758 "kind": "init", 9759 "loc": { 9760 "start": { 9761 "line": 93, 9762 "column": 11, 9763 "program": "objectLiteralAssignability.ts" 9764 }, 9765 "end": { 9766 "line": 93, 9767 "column": 15, 9768 "program": "objectLiteralAssignability.ts" 9769 } 9770 } 9771 } 9772 ], 9773 "loc": { 9774 "start": { 9775 "line": 93, 9776 "column": 9, 9777 "program": "objectLiteralAssignability.ts" 9778 }, 9779 "end": { 9780 "line": 93, 9781 "column": 17, 9782 "program": "objectLiteralAssignability.ts" 9783 } 9784 } 9785 }, 9786 "loc": { 9787 "start": { 9788 "line": 93, 9789 "column": 1, 9790 "program": "objectLiteralAssignability.ts" 9791 }, 9792 "end": { 9793 "line": 93, 9794 "column": 17, 9795 "program": "objectLiteralAssignability.ts" 9796 } 9797 } 9798 }, 9799 "loc": { 9800 "start": { 9801 "line": 93, 9802 "column": 1, 9803 "program": "objectLiteralAssignability.ts" 9804 }, 9805 "end": { 9806 "line": 93, 9807 "column": 18, 9808 "program": "objectLiteralAssignability.ts" 9809 } 9810 } 9811 }, 9812 { 9813 "type": "ExpressionStatement", 9814 "expression": { 9815 "type": "AssignmentExpression", 9816 "operator": "=", 9817 "left": { 9818 "type": "Identifier", 9819 "name": "obj15", 9820 "decorators": [], 9821 "loc": { 9822 "start": { 9823 "line": 94, 9824 "column": 1, 9825 "program": "objectLiteralAssignability.ts" 9826 }, 9827 "end": { 9828 "line": 94, 9829 "column": 6, 9830 "program": "objectLiteralAssignability.ts" 9831 } 9832 } 9833 }, 9834 "right": { 9835 "type": "ObjectExpression", 9836 "properties": [ 9837 { 9838 "type": "Property", 9839 "method": false, 9840 "shorthand": false, 9841 "computed": false, 9842 "key": { 9843 "type": "Identifier", 9844 "name": "a", 9845 "decorators": [], 9846 "loc": { 9847 "start": { 9848 "line": 94, 9849 "column": 11, 9850 "program": "objectLiteralAssignability.ts" 9851 }, 9852 "end": { 9853 "line": 94, 9854 "column": 12, 9855 "program": "objectLiteralAssignability.ts" 9856 } 9857 } 9858 }, 9859 "value": { 9860 "type": "StringLiteral", 9861 "value": "foo", 9862 "loc": { 9863 "start": { 9864 "line": 94, 9865 "column": 14, 9866 "program": "objectLiteralAssignability.ts" 9867 }, 9868 "end": { 9869 "line": 94, 9870 "column": 19, 9871 "program": "objectLiteralAssignability.ts" 9872 } 9873 } 9874 }, 9875 "kind": "init", 9876 "loc": { 9877 "start": { 9878 "line": 94, 9879 "column": 11, 9880 "program": "objectLiteralAssignability.ts" 9881 }, 9882 "end": { 9883 "line": 94, 9884 "column": 19, 9885 "program": "objectLiteralAssignability.ts" 9886 } 9887 } 9888 } 9889 ], 9890 "loc": { 9891 "start": { 9892 "line": 94, 9893 "column": 9, 9894 "program": "objectLiteralAssignability.ts" 9895 }, 9896 "end": { 9897 "line": 94, 9898 "column": 21, 9899 "program": "objectLiteralAssignability.ts" 9900 } 9901 } 9902 }, 9903 "loc": { 9904 "start": { 9905 "line": 94, 9906 "column": 1, 9907 "program": "objectLiteralAssignability.ts" 9908 }, 9909 "end": { 9910 "line": 94, 9911 "column": 21, 9912 "program": "objectLiteralAssignability.ts" 9913 } 9914 } 9915 }, 9916 "loc": { 9917 "start": { 9918 "line": 94, 9919 "column": 1, 9920 "program": "objectLiteralAssignability.ts" 9921 }, 9922 "end": { 9923 "line": 94, 9924 "column": 22, 9925 "program": "objectLiteralAssignability.ts" 9926 } 9927 } 9928 }, 9929 { 9930 "type": "ExpressionStatement", 9931 "expression": { 9932 "type": "AssignmentExpression", 9933 "operator": "=", 9934 "left": { 9935 "type": "Identifier", 9936 "name": "obj15", 9937 "decorators": [], 9938 "loc": { 9939 "start": { 9940 "line": 95, 9941 "column": 1, 9942 "program": "objectLiteralAssignability.ts" 9943 }, 9944 "end": { 9945 "line": 95, 9946 "column": 6, 9947 "program": "objectLiteralAssignability.ts" 9948 } 9949 } 9950 }, 9951 "right": { 9952 "type": "ObjectExpression", 9953 "properties": [ 9954 { 9955 "type": "Property", 9956 "method": false, 9957 "shorthand": false, 9958 "computed": false, 9959 "key": { 9960 "type": "Identifier", 9961 "name": "a", 9962 "decorators": [], 9963 "loc": { 9964 "start": { 9965 "line": 95, 9966 "column": 11, 9967 "program": "objectLiteralAssignability.ts" 9968 }, 9969 "end": { 9970 "line": 95, 9971 "column": 12, 9972 "program": "objectLiteralAssignability.ts" 9973 } 9974 } 9975 }, 9976 "value": { 9977 "type": "BooleanLiteral", 9978 "value": true, 9979 "loc": { 9980 "start": { 9981 "line": 95, 9982 "column": 14, 9983 "program": "objectLiteralAssignability.ts" 9984 }, 9985 "end": { 9986 "line": 95, 9987 "column": 18, 9988 "program": "objectLiteralAssignability.ts" 9989 } 9990 } 9991 }, 9992 "kind": "init", 9993 "loc": { 9994 "start": { 9995 "line": 95, 9996 "column": 11, 9997 "program": "objectLiteralAssignability.ts" 9998 }, 9999 "end": { 10000 "line": 95, 10001 "column": 18, 10002 "program": "objectLiteralAssignability.ts" 10003 } 10004 } 10005 } 10006 ], 10007 "loc": { 10008 "start": { 10009 "line": 95, 10010 "column": 9, 10011 "program": "objectLiteralAssignability.ts" 10012 }, 10013 "end": { 10014 "line": 95, 10015 "column": 20, 10016 "program": "objectLiteralAssignability.ts" 10017 } 10018 } 10019 }, 10020 "loc": { 10021 "start": { 10022 "line": 95, 10023 "column": 1, 10024 "program": "objectLiteralAssignability.ts" 10025 }, 10026 "end": { 10027 "line": 95, 10028 "column": 20, 10029 "program": "objectLiteralAssignability.ts" 10030 } 10031 } 10032 }, 10033 "loc": { 10034 "start": { 10035 "line": 95, 10036 "column": 1, 10037 "program": "objectLiteralAssignability.ts" 10038 }, 10039 "end": { 10040 "line": 95, 10041 "column": 21, 10042 "program": "objectLiteralAssignability.ts" 10043 } 10044 } 10045 } 10046 ], 10047 "loc": { 10048 "start": { 10049 "line": 1, 10050 "column": 1, 10051 "program": "objectLiteralAssignability.ts" 10052 }, 10053 "end": { 10054 "line": 96, 10055 "column": 1, 10056 "program": "objectLiteralAssignability.ts" 10057 } 10058 } 10059} 10060