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": "foo", 17 "decorators": [], 18 "loc": { 19 "start": { 20 "line": 18, 21 "column": 5 22 }, 23 "end": { 24 "line": 18, 25 "column": 8 26 } 27 } 28 }, 29 "typeAnnotation": { 30 "type": "TSNumberKeyword", 31 "loc": { 32 "start": { 33 "line": 18, 34 "column": 10 35 }, 36 "end": { 37 "line": 18, 38 "column": 16 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 18, 45 "column": 5 46 }, 47 "end": { 48 "line": 18, 49 "column": 17 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": "foobar", 105 "decorators": [], 106 "loc": { 107 "start": { 108 "line": 22, 109 "column": 5 110 }, 111 "end": { 112 "line": 22, 113 "column": 11 114 } 115 } 116 }, 117 "typeAnnotation": { 118 "type": "TSTypeReference", 119 "typeName": { 120 "type": "Identifier", 121 "name": "a", 122 "decorators": [], 123 "loc": { 124 "start": { 125 "line": 22, 126 "column": 13 127 }, 128 "end": { 129 "line": 22, 130 "column": 14 131 } 132 } 133 }, 134 "loc": { 135 "start": { 136 "line": 22, 137 "column": 13 138 }, 139 "end": { 140 "line": 22, 141 "column": 14 142 } 143 } 144 }, 145 "loc": { 146 "start": { 147 "line": 22, 148 "column": 5 149 }, 150 "end": { 151 "line": 23, 152 "column": 2 153 } 154 } 155 } 156 ], 157 "loc": { 158 "start": { 159 "line": 21, 160 "column": 13 161 }, 162 "end": { 163 "line": 23, 164 "column": 2 165 } 166 } 167 }, 168 "id": { 169 "type": "Identifier", 170 "name": "b", 171 "decorators": [], 172 "loc": { 173 "start": { 174 "line": 21, 175 "column": 11 176 }, 177 "end": { 178 "line": 21, 179 "column": 12 180 } 181 } 182 }, 183 "extends": [], 184 "loc": { 185 "start": { 186 "line": 21, 187 "column": 1 188 }, 189 "end": { 190 "line": 23, 191 "column": 2 192 } 193 } 194 }, 195 { 196 "type": "VariableDeclaration", 197 "declarations": [ 198 { 199 "type": "VariableDeclarator", 200 "id": { 201 "type": "Identifier", 202 "name": "c", 203 "typeAnnotation": { 204 "type": "TSTypeReference", 205 "typeName": { 206 "type": "Identifier", 207 "name": "b", 208 "decorators": [], 209 "loc": { 210 "start": { 211 "line": 25, 212 "column": 8 213 }, 214 "end": { 215 "line": 25, 216 "column": 9 217 } 218 } 219 }, 220 "loc": { 221 "start": { 222 "line": 25, 223 "column": 8 224 }, 225 "end": { 226 "line": 25, 227 "column": 9 228 } 229 } 230 }, 231 "decorators": [], 232 "loc": { 233 "start": { 234 "line": 25, 235 "column": 5 236 }, 237 "end": { 238 "line": 25, 239 "column": 6 240 } 241 } 242 }, 243 "init": null, 244 "loc": { 245 "start": { 246 "line": 25, 247 "column": 5 248 }, 249 "end": { 250 "line": 25, 251 "column": 6 252 } 253 } 254 } 255 ], 256 "kind": "var", 257 "loc": { 258 "start": { 259 "line": 25, 260 "column": 1 261 }, 262 "end": { 263 "line": 25, 264 "column": 10 265 } 266 } 267 }, 268 { 269 "type": "VariableDeclaration", 270 "declarations": [ 271 { 272 "type": "VariableDeclarator", 273 "id": { 274 "type": "Identifier", 275 "name": "d", 276 "typeAnnotation": { 277 "type": "TSTypeReference", 278 "typeName": { 279 "type": "Identifier", 280 "name": "a", 281 "decorators": [], 282 "loc": { 283 "start": { 284 "line": 26, 285 "column": 8 286 }, 287 "end": { 288 "line": 26, 289 "column": 9 290 } 291 } 292 }, 293 "loc": { 294 "start": { 295 "line": 26, 296 "column": 8 297 }, 298 "end": { 299 "line": 26, 300 "column": 9 301 } 302 } 303 }, 304 "decorators": [], 305 "loc": { 306 "start": { 307 "line": 26, 308 "column": 5 309 }, 310 "end": { 311 "line": 26, 312 "column": 6 313 } 314 } 315 }, 316 "init": null, 317 "loc": { 318 "start": { 319 "line": 26, 320 "column": 5 321 }, 322 "end": { 323 "line": 26, 324 "column": 6 325 } 326 } 327 } 328 ], 329 "kind": "var", 330 "loc": { 331 "start": { 332 "line": 26, 333 "column": 1 334 }, 335 "end": { 336 "line": 26, 337 "column": 10 338 } 339 } 340 }, 341 { 342 "type": "ExpressionStatement", 343 "expression": { 344 "type": "AssignmentExpression", 345 "operator": "=", 346 "left": { 347 "type": "MemberExpression", 348 "object": { 349 "type": "Identifier", 350 "name": "c", 351 "decorators": [], 352 "loc": { 353 "start": { 354 "line": 27, 355 "column": 1 356 }, 357 "end": { 358 "line": 27, 359 "column": 2 360 } 361 } 362 }, 363 "property": { 364 "type": "Identifier", 365 "name": "foobar", 366 "decorators": [], 367 "loc": { 368 "start": { 369 "line": 27, 370 "column": 3 371 }, 372 "end": { 373 "line": 27, 374 "column": 9 375 } 376 } 377 }, 378 "computed": false, 379 "optional": false, 380 "loc": { 381 "start": { 382 "line": 27, 383 "column": 1 384 }, 385 "end": { 386 "line": 27, 387 "column": 9 388 } 389 } 390 }, 391 "right": { 392 "type": "Identifier", 393 "name": "d", 394 "decorators": [], 395 "loc": { 396 "start": { 397 "line": 27, 398 "column": 12 399 }, 400 "end": { 401 "line": 27, 402 "column": 13 403 } 404 } 405 }, 406 "loc": { 407 "start": { 408 "line": 27, 409 "column": 1 410 }, 411 "end": { 412 "line": 27, 413 "column": 13 414 } 415 } 416 }, 417 "loc": { 418 "start": { 419 "line": 27, 420 "column": 1 421 }, 422 "end": { 423 "line": 27, 424 "column": 14 425 } 426 } 427 }, 428 { 429 "type": "ExpressionStatement", 430 "expression": { 431 "type": "AssignmentExpression", 432 "operator": "=", 433 "left": { 434 "type": "MemberExpression", 435 "object": { 436 "type": "MemberExpression", 437 "object": { 438 "type": "Identifier", 439 "name": "c", 440 "decorators": [], 441 "loc": { 442 "start": { 443 "line": 28, 444 "column": 1 445 }, 446 "end": { 447 "line": 28, 448 "column": 2 449 } 450 } 451 }, 452 "property": { 453 "type": "Identifier", 454 "name": "foobar", 455 "decorators": [], 456 "loc": { 457 "start": { 458 "line": 28, 459 "column": 3 460 }, 461 "end": { 462 "line": 28, 463 "column": 9 464 } 465 } 466 }, 467 "computed": false, 468 "optional": false, 469 "loc": { 470 "start": { 471 "line": 28, 472 "column": 1 473 }, 474 "end": { 475 "line": 28, 476 "column": 9 477 } 478 } 479 }, 480 "property": { 481 "type": "Identifier", 482 "name": "foobar", 483 "decorators": [], 484 "loc": { 485 "start": { 486 "line": 28, 487 "column": 10 488 }, 489 "end": { 490 "line": 28, 491 "column": 16 492 } 493 } 494 }, 495 "computed": false, 496 "optional": false, 497 "loc": { 498 "start": { 499 "line": 28, 500 "column": 1 501 }, 502 "end": { 503 "line": 28, 504 "column": 16 505 } 506 } 507 }, 508 "right": { 509 "type": "Identifier", 510 "name": "b", 511 "decorators": [], 512 "loc": { 513 "start": { 514 "line": 28, 515 "column": 19 516 }, 517 "end": { 518 "line": 28, 519 "column": 20 520 } 521 } 522 }, 523 "loc": { 524 "start": { 525 "line": 28, 526 "column": 1 527 }, 528 "end": { 529 "line": 28, 530 "column": 20 531 } 532 } 533 }, 534 "loc": { 535 "start": { 536 "line": 28, 537 "column": 1 538 }, 539 "end": { 540 "line": 28, 541 "column": 21 542 } 543 } 544 } 545 ], 546 "loc": { 547 "start": { 548 "line": 1, 549 "column": 1 550 }, 551 "end": { 552 "line": 28, 553 "column": 21 554 } 555 } 556} 557TypeError: Property foobar does not exist on this type. [memberExpTest_2.ts:28:10] 558