• 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": "TSNumberKeyword",
31              "loc": {
32                "start": {
33                  "line": 18,
34                  "column": 8
35                },
36                "end": {
37                  "line": 18,
38                  "column": 14
39                }
40              }
41            },
42            "loc": {
43              "start": {
44                "line": 18,
45                "column": 5
46              },
47              "end": {
48                "line": 18,
49                "column": 15
50              }
51            }
52          },
53          {
54            "type": "TSPropertySignature",
55            "computed": false,
56            "optional": false,
57            "readonly": false,
58            "key": {
59              "type": "Identifier",
60              "name": "b",
61              "decorators": [],
62              "loc": {
63                "start": {
64                  "line": 19,
65                  "column": 5
66                },
67                "end": {
68                  "line": 19,
69                  "column": 6
70                }
71              }
72            },
73            "typeAnnotation": {
74              "type": "TSStringKeyword",
75              "loc": {
76                "start": {
77                  "line": 19,
78                  "column": 8
79                },
80                "end": {
81                  "line": 19,
82                  "column": 14
83                }
84              }
85            },
86            "loc": {
87              "start": {
88                "line": 19,
89                "column": 5
90              },
91              "end": {
92                "line": 19,
93                "column": 15
94              }
95            }
96          }
97        ],
98        "loc": {
99          "start": {
100            "line": 17,
101            "column": 13
102          },
103          "end": {
104            "line": 20,
105            "column": 2
106          }
107        }
108      },
109      "id": {
110        "type": "Identifier",
111        "name": "A",
112        "decorators": [],
113        "loc": {
114          "start": {
115            "line": 17,
116            "column": 11
117          },
118          "end": {
119            "line": 17,
120            "column": 12
121          }
122        }
123      },
124      "extends": [],
125      "loc": {
126        "start": {
127          "line": 17,
128          "column": 1
129        },
130        "end": {
131          "line": 20,
132          "column": 2
133        }
134      }
135    },
136    {
137      "type": "TSInterfaceDeclaration",
138      "body": {
139        "type": "TSInterfaceBody",
140        "body": [
141          {
142            "type": "TSPropertySignature",
143            "computed": false,
144            "optional": false,
145            "readonly": false,
146            "key": {
147              "type": "Identifier",
148              "name": "a",
149              "decorators": [],
150              "loc": {
151                "start": {
152                  "line": 23,
153                  "column": 5
154                },
155                "end": {
156                  "line": 23,
157                  "column": 6
158                }
159              }
160            },
161            "typeAnnotation": {
162              "type": "TSStringKeyword",
163              "loc": {
164                "start": {
165                  "line": 23,
166                  "column": 8
167                },
168                "end": {
169                  "line": 23,
170                  "column": 14
171                }
172              }
173            },
174            "loc": {
175              "start": {
176                "line": 23,
177                "column": 5
178              },
179              "end": {
180                "line": 23,
181                "column": 15
182              }
183            }
184          },
185          {
186            "type": "TSPropertySignature",
187            "computed": false,
188            "optional": false,
189            "readonly": false,
190            "key": {
191              "type": "Identifier",
192              "name": "c",
193              "decorators": [],
194              "loc": {
195                "start": {
196                  "line": 24,
197                  "column": 5
198                },
199                "end": {
200                  "line": 24,
201                  "column": 6
202                }
203              }
204            },
205            "typeAnnotation": {
206              "type": "TSArrayType",
207              "elementType": {
208                "type": "TSBooleanKeyword",
209                "loc": {
210                  "start": {
211                    "line": 24,
212                    "column": 8
213                  },
214                  "end": {
215                    "line": 24,
216                    "column": 15
217                  }
218                }
219              },
220              "loc": {
221                "start": {
222                  "line": 24,
223                  "column": 8
224                },
225                "end": {
226                  "line": 24,
227                  "column": 17
228                }
229              }
230            },
231            "loc": {
232              "start": {
233                "line": 24,
234                "column": 5
235              },
236              "end": {
237                "line": 25,
238                "column": 2
239              }
240            }
241          }
242        ],
243        "loc": {
244          "start": {
245            "line": 22,
246            "column": 13
247          },
248          "end": {
249            "line": 25,
250            "column": 2
251          }
252        }
253      },
254      "id": {
255        "type": "Identifier",
256        "name": "B",
257        "decorators": [],
258        "loc": {
259          "start": {
260            "line": 22,
261            "column": 11
262          },
263          "end": {
264            "line": 22,
265            "column": 12
266          }
267        }
268      },
269      "extends": [],
270      "loc": {
271        "start": {
272          "line": 22,
273          "column": 1
274        },
275        "end": {
276          "line": 25,
277          "column": 2
278        }
279      }
280    },
281    {
282      "type": "TSInterfaceDeclaration",
283      "body": {
284        "type": "TSInterfaceBody",
285        "body": [],
286        "loc": {
287          "start": {
288            "line": 27,
289            "column": 26
290          },
291          "end": {
292            "line": 27,
293            "column": 29
294          }
295        }
296      },
297      "id": {
298        "type": "Identifier",
299        "name": "C",
300        "decorators": [],
301        "loc": {
302          "start": {
303            "line": 27,
304            "column": 11
305          },
306          "end": {
307            "line": 27,
308            "column": 12
309          }
310        }
311      },
312      "extends": [
313        {
314          "type": "TSInterfaceHeritage",
315          "expression": {
316            "type": "TSTypeReference",
317            "typeName": {
318              "type": "Identifier",
319              "name": "A",
320              "decorators": [],
321              "loc": {
322                "start": {
323                  "line": 27,
324                  "column": 21
325                },
326                "end": {
327                  "line": 27,
328                  "column": 22
329                }
330              }
331            },
332            "loc": {
333              "start": {
334                "line": 27,
335                "column": 22
336              },
337              "end": {
338                "line": 27,
339                "column": 22
340              }
341            }
342          },
343          "loc": {
344            "start": {
345              "line": 27,
346              "column": 22
347            },
348            "end": {
349              "line": 27,
350              "column": 22
351            }
352          }
353        },
354        {
355          "type": "TSInterfaceHeritage",
356          "expression": {
357            "type": "TSTypeReference",
358            "typeName": {
359              "type": "Identifier",
360              "name": "B",
361              "decorators": [],
362              "loc": {
363                "start": {
364                  "line": 27,
365                  "column": 24
366                },
367                "end": {
368                  "line": 27,
369                  "column": 25
370                }
371              }
372            },
373            "loc": {
374              "start": {
375                "line": 27,
376                "column": 26
377              },
378              "end": {
379                "line": 27,
380                "column": 25
381              }
382            }
383          },
384          "loc": {
385            "start": {
386              "line": 27,
387              "column": 26
388            },
389            "end": {
390              "line": 27,
391              "column": 25
392            }
393          }
394        }
395      ],
396      "loc": {
397        "start": {
398          "line": 27,
399          "column": 1
400        },
401        "end": {
402          "line": 27,
403          "column": 29
404        }
405      }
406    }
407  ],
408  "loc": {
409    "start": {
410      "line": 1,
411      "column": 1
412    },
413    "end": {
414      "line": 27,
415      "column": 29
416    }
417  }
418}
419TypeError: Interface 'C' incorrectly extends interface 'B' [interfaceInheritance4.ts:27:11]
420