• 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        "loc": {
55          "start": {
56            "line": 17,
57            "column": 13
58          },
59          "end": {
60            "line": 19,
61            "column": 2
62          }
63        }
64      },
65      "id": {
66        "type": "Identifier",
67        "name": "A",
68        "decorators": [],
69        "loc": {
70          "start": {
71            "line": 17,
72            "column": 11
73          },
74          "end": {
75            "line": 17,
76            "column": 12
77          }
78        }
79      },
80      "extends": [],
81      "loc": {
82        "start": {
83          "line": 17,
84          "column": 1
85        },
86        "end": {
87          "line": 19,
88          "column": 2
89        }
90      }
91    },
92    {
93      "type": "TSInterfaceDeclaration",
94      "body": {
95        "type": "TSInterfaceBody",
96        "body": [
97          {
98            "type": "TSPropertySignature",
99            "computed": false,
100            "optional": false,
101            "readonly": false,
102            "key": {
103              "type": "Identifier",
104              "name": "a",
105              "decorators": [],
106              "loc": {
107                "start": {
108                  "line": 22,
109                  "column": 5
110                },
111                "end": {
112                  "line": 22,
113                  "column": 6
114                }
115              }
116            },
117            "typeAnnotation": {
118              "type": "TSStringKeyword",
119              "loc": {
120                "start": {
121                  "line": 22,
122                  "column": 8
123                },
124                "end": {
125                  "line": 22,
126                  "column": 14
127                }
128              }
129            },
130            "loc": {
131              "start": {
132                "line": 22,
133                "column": 5
134              },
135              "end": {
136                "line": 22,
137                "column": 15
138              }
139            }
140          }
141        ],
142        "loc": {
143          "start": {
144            "line": 21,
145            "column": 23
146          },
147          "end": {
148            "line": 23,
149            "column": 2
150          }
151        }
152      },
153      "id": {
154        "type": "Identifier",
155        "name": "B",
156        "decorators": [],
157        "loc": {
158          "start": {
159            "line": 21,
160            "column": 11
161          },
162          "end": {
163            "line": 21,
164            "column": 12
165          }
166        }
167      },
168      "extends": [
169        {
170          "type": "TSInterfaceHeritage",
171          "expression": {
172            "type": "TSTypeReference",
173            "typeName": {
174              "type": "Identifier",
175              "name": "A",
176              "decorators": [],
177              "loc": {
178                "start": {
179                  "line": 21,
180                  "column": 21
181                },
182                "end": {
183                  "line": 21,
184                  "column": 22
185                }
186              }
187            },
188            "loc": {
189              "start": {
190                "line": 21,
191                "column": 23
192              },
193              "end": {
194                "line": 21,
195                "column": 22
196              }
197            }
198          },
199          "loc": {
200            "start": {
201              "line": 21,
202              "column": 23
203            },
204            "end": {
205              "line": 21,
206              "column": 22
207            }
208          }
209        }
210      ],
211      "loc": {
212        "start": {
213          "line": 21,
214          "column": 1
215        },
216        "end": {
217          "line": 23,
218          "column": 2
219        }
220      }
221    }
222  ],
223  "loc": {
224    "start": {
225      "line": 1,
226      "column": 1
227    },
228    "end": {
229      "line": 23,
230      "column": 2
231    }
232  }
233}
234TypeError: Interface 'B' incorrectly extends interface 'A' [interfaceInheritance2.ts:21:11]
235