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