• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "TSPropertySignature",
11            "computed": false,
12            "optional": false,
13            "readonly": false,
14            "key": {
15              "type": "Identifier",
16              "name": "a",
17              "decorators": [],
18              "loc": {
19                "start": {
20                  "line": 18,
21                  "column": 5
22                },
23                "end": {
24                  "line": 18,
25                  "column": 6
26                }
27              }
28            },
29            "typeAnnotation": {
30              "type": "TSTypeReference",
31              "typeName": {
32                "type": "Identifier",
33                "name": "B",
34                "decorators": [],
35                "loc": {
36                  "start": {
37                    "line": 18,
38                    "column": 8
39                  },
40                  "end": {
41                    "line": 18,
42                    "column": 9
43                  }
44                }
45              },
46              "loc": {
47                "start": {
48                  "line": 18,
49                  "column": 8
50                },
51                "end": {
52                  "line": 18,
53                  "column": 9
54                }
55              }
56            },
57            "loc": {
58              "start": {
59                "line": 18,
60                "column": 5
61              },
62              "end": {
63                "line": 18,
64                "column": 10
65              }
66            }
67          },
68          {
69            "type": "TSPropertySignature",
70            "computed": false,
71            "optional": false,
72            "readonly": false,
73            "key": {
74              "type": "Identifier",
75              "name": "b",
76              "decorators": [],
77              "loc": {
78                "start": {
79                  "line": 19,
80                  "column": 5
81                },
82                "end": {
83                  "line": 19,
84                  "column": 6
85                }
86              }
87            },
88            "typeAnnotation": {
89              "type": "TSTypeReference",
90              "typeName": {
91                "type": "Identifier",
92                "name": "A",
93                "decorators": [],
94                "loc": {
95                  "start": {
96                    "line": 19,
97                    "column": 8
98                  },
99                  "end": {
100                    "line": 19,
101                    "column": 9
102                  }
103                }
104              },
105              "loc": {
106                "start": {
107                  "line": 19,
108                  "column": 8
109                },
110                "end": {
111                  "line": 19,
112                  "column": 9
113                }
114              }
115            },
116            "loc": {
117              "start": {
118                "line": 19,
119                "column": 5
120              },
121              "end": {
122                "line": 19,
123                "column": 10
124              }
125            }
126          }
127        ],
128        "loc": {
129          "start": {
130            "line": 17,
131            "column": 13
132          },
133          "end": {
134            "line": 20,
135            "column": 2
136          }
137        }
138      },
139      "id": {
140        "type": "Identifier",
141        "name": "A",
142        "decorators": [],
143        "loc": {
144          "start": {
145            "line": 17,
146            "column": 11
147          },
148          "end": {
149            "line": 17,
150            "column": 12
151          }
152        }
153      },
154      "extends": [],
155      "loc": {
156        "start": {
157          "line": 17,
158          "column": 1
159        },
160        "end": {
161          "line": 20,
162          "column": 2
163        }
164      }
165    },
166    {
167      "type": "TSInterfaceDeclaration",
168      "body": {
169        "type": "TSInterfaceBody",
170        "body": [
171          {
172            "type": "TSPropertySignature",
173            "computed": false,
174            "optional": false,
175            "readonly": false,
176            "key": {
177              "type": "Identifier",
178              "name": "c",
179              "decorators": [],
180              "loc": {
181                "start": {
182                  "line": 23,
183                  "column": 5
184                },
185                "end": {
186                  "line": 23,
187                  "column": 6
188                }
189              }
190            },
191            "typeAnnotation": {
192              "type": "TSTypeReference",
193              "typeName": {
194                "type": "Identifier",
195                "name": "A",
196                "decorators": [],
197                "loc": {
198                  "start": {
199                    "line": 23,
200                    "column": 8
201                  },
202                  "end": {
203                    "line": 23,
204                    "column": 9
205                  }
206                }
207              },
208              "loc": {
209                "start": {
210                  "line": 23,
211                  "column": 8
212                },
213                "end": {
214                  "line": 23,
215                  "column": 9
216                }
217              }
218            },
219            "loc": {
220              "start": {
221                "line": 23,
222                "column": 5
223              },
224              "end": {
225                "line": 23,
226                "column": 10
227              }
228            }
229          }
230        ],
231        "loc": {
232          "start": {
233            "line": 22,
234            "column": 23
235          },
236          "end": {
237            "line": 24,
238            "column": 2
239          }
240        }
241      },
242      "id": {
243        "type": "Identifier",
244        "name": "B",
245        "decorators": [],
246        "loc": {
247          "start": {
248            "line": 22,
249            "column": 11
250          },
251          "end": {
252            "line": 22,
253            "column": 12
254          }
255        }
256      },
257      "extends": [
258        {
259          "type": "TSInterfaceHeritage",
260          "expression": {
261            "type": "TSTypeReference",
262            "typeName": {
263              "type": "Identifier",
264              "name": "A",
265              "decorators": [],
266              "loc": {
267                "start": {
268                  "line": 22,
269                  "column": 21
270                },
271                "end": {
272                  "line": 22,
273                  "column": 22
274                }
275              }
276            },
277            "loc": {
278              "start": {
279                "line": 22,
280                "column": 23
281              },
282              "end": {
283                "line": 22,
284                "column": 22
285              }
286            }
287          },
288          "loc": {
289            "start": {
290              "line": 22,
291              "column": 23
292            },
293            "end": {
294              "line": 22,
295              "column": 22
296            }
297          }
298        }
299      ],
300      "loc": {
301        "start": {
302          "line": 22,
303          "column": 1
304        },
305        "end": {
306          "line": 24,
307          "column": 2
308        }
309      }
310    },
311    {
312      "type": "VariableDeclaration",
313      "declarations": [
314        {
315          "type": "VariableDeclarator",
316          "id": {
317            "type": "Identifier",
318            "name": "foo",
319            "typeAnnotation": {
320              "type": "TSTypeReference",
321              "typeName": {
322                "type": "Identifier",
323                "name": "B",
324                "decorators": [],
325                "loc": {
326                  "start": {
327                    "line": 26,
328                    "column": 10
329                  },
330                  "end": {
331                    "line": 26,
332                    "column": 11
333                  }
334                }
335              },
336              "loc": {
337                "start": {
338                  "line": 26,
339                  "column": 10
340                },
341                "end": {
342                  "line": 26,
343                  "column": 11
344                }
345              }
346            },
347            "decorators": [],
348            "loc": {
349              "start": {
350                "line": 26,
351                "column": 5
352              },
353              "end": {
354                "line": 26,
355                "column": 8
356              }
357            }
358          },
359          "init": null,
360          "loc": {
361            "start": {
362              "line": 26,
363              "column": 5
364            },
365            "end": {
366              "line": 26,
367              "column": 8
368            }
369          }
370        }
371      ],
372      "kind": "var",
373      "loc": {
374        "start": {
375          "line": 26,
376          "column": 1
377        },
378        "end": {
379          "line": 26,
380          "column": 12
381        }
382      }
383    },
384    {
385      "type": "ExpressionStatement",
386      "expression": {
387        "type": "MemberExpression",
388        "object": {
389          "type": "MemberExpression",
390          "object": {
391            "type": "MemberExpression",
392            "object": {
393              "type": "MemberExpression",
394              "object": {
395                "type": "MemberExpression",
396                "object": {
397                  "type": "MemberExpression",
398                  "object": {
399                    "type": "Identifier",
400                    "name": "foo",
401                    "decorators": [],
402                    "loc": {
403                      "start": {
404                        "line": 28,
405                        "column": 1
406                      },
407                      "end": {
408                        "line": 28,
409                        "column": 4
410                      }
411                    }
412                  },
413                  "property": {
414                    "type": "Identifier",
415                    "name": "a",
416                    "decorators": [],
417                    "loc": {
418                      "start": {
419                        "line": 28,
420                        "column": 5
421                      },
422                      "end": {
423                        "line": 28,
424                        "column": 6
425                      }
426                    }
427                  },
428                  "computed": false,
429                  "optional": false,
430                  "loc": {
431                    "start": {
432                      "line": 28,
433                      "column": 1
434                    },
435                    "end": {
436                      "line": 28,
437                      "column": 6
438                    }
439                  }
440                },
441                "property": {
442                  "type": "Identifier",
443                  "name": "b",
444                  "decorators": [],
445                  "loc": {
446                    "start": {
447                      "line": 28,
448                      "column": 7
449                    },
450                    "end": {
451                      "line": 28,
452                      "column": 8
453                    }
454                  }
455                },
456                "computed": false,
457                "optional": false,
458                "loc": {
459                  "start": {
460                    "line": 28,
461                    "column": 1
462                  },
463                  "end": {
464                    "line": 28,
465                    "column": 8
466                  }
467                }
468              },
469              "property": {
470                "type": "Identifier",
471                "name": "b",
472                "decorators": [],
473                "loc": {
474                  "start": {
475                    "line": 28,
476                    "column": 9
477                  },
478                  "end": {
479                    "line": 28,
480                    "column": 10
481                  }
482                }
483              },
484              "computed": false,
485              "optional": false,
486              "loc": {
487                "start": {
488                  "line": 28,
489                  "column": 1
490                },
491                "end": {
492                  "line": 28,
493                  "column": 10
494                }
495              }
496            },
497            "property": {
498              "type": "Identifier",
499              "name": "a",
500              "decorators": [],
501              "loc": {
502                "start": {
503                  "line": 28,
504                  "column": 11
505                },
506                "end": {
507                  "line": 28,
508                  "column": 12
509                }
510              }
511            },
512            "computed": false,
513            "optional": false,
514            "loc": {
515              "start": {
516                "line": 28,
517                "column": 1
518              },
519              "end": {
520                "line": 28,
521                "column": 12
522              }
523            }
524          },
525          "property": {
526            "type": "Identifier",
527            "name": "c",
528            "decorators": [],
529            "loc": {
530              "start": {
531                "line": 28,
532                "column": 13
533              },
534              "end": {
535                "line": 28,
536                "column": 14
537              }
538            }
539          },
540          "computed": false,
541          "optional": false,
542          "loc": {
543            "start": {
544              "line": 28,
545              "column": 1
546            },
547            "end": {
548              "line": 28,
549              "column": 14
550            }
551          }
552        },
553        "property": {
554          "type": "Identifier",
555          "name": "r",
556          "decorators": [],
557          "loc": {
558            "start": {
559              "line": 28,
560              "column": 15
561            },
562            "end": {
563              "line": 28,
564              "column": 16
565            }
566          }
567        },
568        "computed": false,
569        "optional": false,
570        "loc": {
571          "start": {
572            "line": 28,
573            "column": 1
574          },
575          "end": {
576            "line": 28,
577            "column": 16
578          }
579        }
580      },
581      "loc": {
582        "start": {
583          "line": 28,
584          "column": 1
585        },
586        "end": {
587          "line": 28,
588          "column": 16
589        }
590      }
591    }
592  ],
593  "loc": {
594    "start": {
595      "line": 1,
596      "column": 1
597    },
598    "end": {
599      "line": 29,
600      "column": 1
601    }
602  }
603}
604TypeError: Property r does not exist on this type. [interfacePropertyReferenceContainingInterface1.ts:28:15]
605