• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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