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": 7 35 }, 36 "end": { 37 "line": 18, 38 "column": 13 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 18, 45 "column": 5 46 }, 47 "end": { 48 "line": 18, 49 "column": 14 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": 7 79 }, 80 "end": { 81 "line": 19, 82 "column": 13 83 } 84 } 85 }, 86 "loc": { 87 "start": { 88 "line": 19, 89 "column": 5 90 }, 91 "end": { 92 "line": 19, 93 "column": 14 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": "d", 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 "loc": { 187 "start": { 188 "line": 22, 189 "column": 23 190 }, 191 "end": { 192 "line": 24, 193 "column": 2 194 } 195 } 196 }, 197 "id": { 198 "type": "Identifier", 199 "name": "B", 200 "decorators": [], 201 "loc": { 202 "start": { 203 "line": 22, 204 "column": 11 205 }, 206 "end": { 207 "line": 22, 208 "column": 12 209 } 210 } 211 }, 212 "extends": [ 213 { 214 "type": "TSInterfaceHeritage", 215 "expression": { 216 "type": "TSTypeReference", 217 "typeName": { 218 "type": "Identifier", 219 "name": "A", 220 "decorators": [], 221 "loc": { 222 "start": { 223 "line": 22, 224 "column": 21 225 }, 226 "end": { 227 "line": 22, 228 "column": 22 229 } 230 } 231 }, 232 "loc": { 233 "start": { 234 "line": 22, 235 "column": 23 236 }, 237 "end": { 238 "line": 22, 239 "column": 22 240 } 241 } 242 }, 243 "loc": { 244 "start": { 245 "line": 22, 246 "column": 23 247 }, 248 "end": { 249 "line": 22, 250 "column": 22 251 } 252 } 253 } 254 ], 255 "loc": { 256 "start": { 257 "line": 22, 258 "column": 1 259 }, 260 "end": { 261 "line": 24, 262 "column": 2 263 } 264 } 265 }, 266 { 267 "type": "VariableDeclaration", 268 "declarations": [ 269 { 270 "type": "VariableDeclarator", 271 "id": { 272 "type": "Identifier", 273 "name": "a", 274 "typeAnnotation": { 275 "type": "TSUnionType", 276 "types": [ 277 { 278 "type": "TSTypeReference", 279 "typeName": { 280 "type": "Identifier", 281 "name": "A", 282 "decorators": [], 283 "loc": { 284 "start": { 285 "line": 26, 286 "column": 8 287 }, 288 "end": { 289 "line": 26, 290 "column": 9 291 } 292 } 293 }, 294 "loc": { 295 "start": { 296 "line": 26, 297 "column": 8 298 }, 299 "end": { 300 "line": 26, 301 "column": 9 302 } 303 } 304 }, 305 { 306 "type": "TSTypeReference", 307 "typeName": { 308 "type": "Identifier", 309 "name": "B", 310 "decorators": [], 311 "loc": { 312 "start": { 313 "line": 26, 314 "column": 12 315 }, 316 "end": { 317 "line": 26, 318 "column": 13 319 } 320 } 321 }, 322 "loc": { 323 "start": { 324 "line": 26, 325 "column": 12 326 }, 327 "end": { 328 "line": 26, 329 "column": 13 330 } 331 } 332 } 333 ], 334 "loc": { 335 "start": { 336 "line": 26, 337 "column": 8 338 }, 339 "end": { 340 "line": 26, 341 "column": 13 342 } 343 } 344 }, 345 "decorators": [], 346 "loc": { 347 "start": { 348 "line": 26, 349 "column": 5 350 }, 351 "end": { 352 "line": 26, 353 "column": 6 354 } 355 } 356 }, 357 "init": null, 358 "loc": { 359 "start": { 360 "line": 26, 361 "column": 5 362 }, 363 "end": { 364 "line": 26, 365 "column": 6 366 } 367 } 368 } 369 ], 370 "kind": "var", 371 "loc": { 372 "start": { 373 "line": 26, 374 "column": 1 375 }, 376 "end": { 377 "line": 26, 378 "column": 14 379 } 380 } 381 }, 382 { 383 "type": "ExpressionStatement", 384 "expression": { 385 "type": "MemberExpression", 386 "object": { 387 "type": "Identifier", 388 "name": "a", 389 "decorators": [], 390 "loc": { 391 "start": { 392 "line": 27, 393 "column": 1 394 }, 395 "end": { 396 "line": 27, 397 "column": 2 398 } 399 } 400 }, 401 "property": { 402 "type": "Identifier", 403 "name": "a", 404 "decorators": [], 405 "loc": { 406 "start": { 407 "line": 27, 408 "column": 3 409 }, 410 "end": { 411 "line": 27, 412 "column": 4 413 } 414 } 415 }, 416 "computed": false, 417 "optional": false, 418 "loc": { 419 "start": { 420 "line": 27, 421 "column": 1 422 }, 423 "end": { 424 "line": 27, 425 "column": 4 426 } 427 } 428 }, 429 "loc": { 430 "start": { 431 "line": 27, 432 "column": 1 433 }, 434 "end": { 435 "line": 27, 436 "column": 5 437 } 438 } 439 }, 440 { 441 "type": "ExpressionStatement", 442 "expression": { 443 "type": "MemberExpression", 444 "object": { 445 "type": "Identifier", 446 "name": "a", 447 "decorators": [], 448 "loc": { 449 "start": { 450 "line": 28, 451 "column": 1 452 }, 453 "end": { 454 "line": 28, 455 "column": 2 456 } 457 } 458 }, 459 "property": { 460 "type": "Identifier", 461 "name": "b", 462 "decorators": [], 463 "loc": { 464 "start": { 465 "line": 28, 466 "column": 3 467 }, 468 "end": { 469 "line": 28, 470 "column": 4 471 } 472 } 473 }, 474 "computed": false, 475 "optional": false, 476 "loc": { 477 "start": { 478 "line": 28, 479 "column": 1 480 }, 481 "end": { 482 "line": 28, 483 "column": 4 484 } 485 } 486 }, 487 "loc": { 488 "start": { 489 "line": 28, 490 "column": 1 491 }, 492 "end": { 493 "line": 28, 494 "column": 5 495 } 496 } 497 }, 498 { 499 "type": "ExpressionStatement", 500 "expression": { 501 "type": "MemberExpression", 502 "object": { 503 "type": "Identifier", 504 "name": "a", 505 "decorators": [], 506 "loc": { 507 "start": { 508 "line": 29, 509 "column": 1 510 }, 511 "end": { 512 "line": 29, 513 "column": 2 514 } 515 } 516 }, 517 "property": { 518 "type": "Identifier", 519 "name": "d", 520 "decorators": [], 521 "loc": { 522 "start": { 523 "line": 29, 524 "column": 3 525 }, 526 "end": { 527 "line": 29, 528 "column": 4 529 } 530 } 531 }, 532 "computed": false, 533 "optional": false, 534 "loc": { 535 "start": { 536 "line": 29, 537 "column": 1 538 }, 539 "end": { 540 "line": 29, 541 "column": 4 542 } 543 } 544 }, 545 "loc": { 546 "start": { 547 "line": 29, 548 "column": 1 549 }, 550 "end": { 551 "line": 29, 552 "column": 5 553 } 554 } 555 } 556 ], 557 "loc": { 558 "start": { 559 "line": 1, 560 "column": 1 561 }, 562 "end": { 563 "line": 29, 564 "column": 5 565 } 566 } 567} 568TypeError: Property d does not exist on this type. [memberExpTest_6.ts:29:3] 569