1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "MyOverride", 10 "loc": { 11 "start": { 12 "line": 17, 13 "column": 16 14 }, 15 "end": { 16 "line": 17, 17 "column": 26 18 } 19 } 20 }, 21 "superClass": null, 22 "implements": [], 23 "constructor": { 24 "type": "MethodDefinition", 25 "key": { 26 "type": "Identifier", 27 "name": "constructor", 28 "loc": { 29 "start": { 30 "line": 1, 31 "column": 1 32 }, 33 "end": { 34 "line": 1, 35 "column": 1 36 } 37 } 38 }, 39 "kind": "constructor", 40 "static": false, 41 "optional": false, 42 "computed": false, 43 "value": { 44 "type": "FunctionExpression", 45 "function": { 46 "type": "ScriptFunction", 47 "id": null, 48 "generator": false, 49 "async": false, 50 "expression": false, 51 "params": [], 52 "body": { 53 "type": "BlockStatement", 54 "statements": [], 55 "loc": { 56 "start": { 57 "line": 1, 58 "column": 1 59 }, 60 "end": { 61 "line": 1, 62 "column": 1 63 } 64 } 65 }, 66 "loc": { 67 "start": { 68 "line": 1, 69 "column": 1 70 }, 71 "end": { 72 "line": 1, 73 "column": 1 74 } 75 } 76 }, 77 "loc": { 78 "start": { 79 "line": 1, 80 "column": 1 81 }, 82 "end": { 83 "line": 1, 84 "column": 1 85 } 86 } 87 }, 88 "overloads": [], 89 "decorators": [], 90 "annotations": [], 91 "loc": { 92 "start": { 93 "line": 17, 94 "column": 10 95 }, 96 "end": { 97 "line": 20, 98 "column": 2 99 } 100 } 101 }, 102 "body": [ 103 { 104 "type": "MethodDefinition", 105 "key": { 106 "type": "Identifier", 107 "name": "foo", 108 "loc": { 109 "start": { 110 "line": 18, 111 "column": 14 112 }, 113 "end": { 114 "line": 18, 115 "column": 17 116 } 117 } 118 }, 119 "kind": "method", 120 "abstract": true, 121 "static": false, 122 "optional": false, 123 "computed": false, 124 "value": { 125 "type": "FunctionExpression", 126 "function": { 127 "type": "ScriptFunction", 128 "id": null, 129 "generator": false, 130 "async": false, 131 "expression": false, 132 "params": [], 133 "returnType": { 134 "type": "TSUnknownKeyword", 135 "loc": { 136 "start": { 137 "line": 18, 138 "column": 21 139 }, 140 "end": { 141 "line": 18, 142 "column": 28 143 } 144 } 145 }, 146 "loc": { 147 "start": { 148 "line": 18, 149 "column": 17 150 }, 151 "end": { 152 "line": 18, 153 "column": 29 154 } 155 } 156 }, 157 "loc": { 158 "start": { 159 "line": 18, 160 "column": 17 161 }, 162 "end": { 163 "line": 18, 164 "column": 29 165 } 166 } 167 }, 168 "overloads": [], 169 "decorators": [], 170 "annotations": [], 171 "loc": { 172 "start": { 173 "line": 18, 174 "column": 5 175 }, 176 "end": { 177 "line": 18, 178 "column": 29 179 } 180 } 181 }, 182 { 183 "type": "MethodDefinition", 184 "key": { 185 "type": "Identifier", 186 "name": "bar", 187 "loc": { 188 "start": { 189 "line": 19, 190 "column": 14 191 }, 192 "end": { 193 "line": 19, 194 "column": 17 195 } 196 } 197 }, 198 "kind": "method", 199 "abstract": true, 200 "static": false, 201 "optional": false, 202 "computed": false, 203 "value": { 204 "type": "FunctionExpression", 205 "function": { 206 "type": "ScriptFunction", 207 "id": null, 208 "generator": false, 209 "async": false, 210 "expression": false, 211 "params": [], 212 "returnType": { 213 "type": "TSVoidKeyword", 214 "loc": { 215 "start": { 216 "line": 19, 217 "column": 21 218 }, 219 "end": { 220 "line": 19, 221 "column": 25 222 } 223 } 224 }, 225 "loc": { 226 "start": { 227 "line": 19, 228 "column": 17 229 }, 230 "end": { 231 "line": 19, 232 "column": 26 233 } 234 } 235 }, 236 "loc": { 237 "start": { 238 "line": 19, 239 "column": 17 240 }, 241 "end": { 242 "line": 19, 243 "column": 26 244 } 245 } 246 }, 247 "overloads": [], 248 "decorators": [], 249 "annotations": [], 250 "loc": { 251 "start": { 252 "line": 19, 253 "column": 5 254 }, 255 "end": { 256 "line": 19, 257 "column": 26 258 } 259 } 260 } 261 ], 262 "indexSignatures": [], 263 "loc": { 264 "start": { 265 "line": 17, 266 "column": 27 267 }, 268 "end": { 269 "line": 20, 270 "column": 2 271 } 272 } 273 }, 274 "decorators": [], 275 "isAnnotationDeclaration": false, 276 "loc": { 277 "start": { 278 "line": 17, 279 "column": 10 280 }, 281 "end": { 282 "line": 20, 283 "column": 2 284 } 285 } 286 }, 287 { 288 "type": "ClassDeclaration", 289 "definition": { 290 "id": { 291 "type": "Identifier", 292 "name": "SubOverride", 293 "loc": { 294 "start": { 295 "line": 22, 296 "column": 16 297 }, 298 "end": { 299 "line": 22, 300 "column": 27 301 } 302 } 303 }, 304 "superClass": { 305 "type": "Identifier", 306 "name": "MyOverride", 307 "loc": { 308 "start": { 309 "line": 22, 310 "column": 36 311 }, 312 "end": { 313 "line": 22, 314 "column": 46 315 } 316 } 317 }, 318 "implements": [], 319 "constructor": { 320 "type": "MethodDefinition", 321 "key": { 322 "type": "Identifier", 323 "name": "constructor", 324 "loc": { 325 "start": { 326 "line": 1, 327 "column": 1 328 }, 329 "end": { 330 "line": 1, 331 "column": 1 332 } 333 } 334 }, 335 "kind": "constructor", 336 "static": false, 337 "optional": false, 338 "computed": false, 339 "value": { 340 "type": "FunctionExpression", 341 "function": { 342 "type": "ScriptFunction", 343 "id": null, 344 "generator": false, 345 "async": false, 346 "expression": false, 347 "params": [ 348 { 349 "type": "RestElement", 350 "argument": { 351 "type": "Identifier", 352 "name": "args", 353 "loc": { 354 "start": { 355 "line": 1, 356 "column": 1 357 }, 358 "end": { 359 "line": 1, 360 "column": 1 361 } 362 } 363 }, 364 "loc": { 365 "start": { 366 "line": 1, 367 "column": 1 368 }, 369 "end": { 370 "line": 1, 371 "column": 1 372 } 373 } 374 } 375 ], 376 "body": { 377 "type": "BlockStatement", 378 "statements": [ 379 { 380 "type": "ExpressionStatement", 381 "expression": { 382 "type": "CallExpression", 383 "callee": { 384 "type": "Super", 385 "loc": { 386 "start": { 387 "line": 1, 388 "column": 1 389 }, 390 "end": { 391 "line": 1, 392 "column": 1 393 } 394 } 395 }, 396 "arguments": [ 397 { 398 "type": "SpreadElement", 399 "argument": { 400 "type": "Identifier", 401 "name": "args", 402 "loc": { 403 "start": { 404 "line": 1, 405 "column": 1 406 }, 407 "end": { 408 "line": 1, 409 "column": 1 410 } 411 } 412 }, 413 "loc": { 414 "start": { 415 "line": 1, 416 "column": 1 417 }, 418 "end": { 419 "line": 1, 420 "column": 1 421 } 422 } 423 } 424 ], 425 "optional": false, 426 "loc": { 427 "start": { 428 "line": 1, 429 "column": 1 430 }, 431 "end": { 432 "line": 1, 433 "column": 1 434 } 435 } 436 }, 437 "loc": { 438 "start": { 439 "line": 1, 440 "column": 1 441 }, 442 "end": { 443 "line": 1, 444 "column": 1 445 } 446 } 447 } 448 ], 449 "loc": { 450 "start": { 451 "line": 1, 452 "column": 1 453 }, 454 "end": { 455 "line": 1, 456 "column": 1 457 } 458 } 459 }, 460 "loc": { 461 "start": { 462 "line": 1, 463 "column": 1 464 }, 465 "end": { 466 "line": 1, 467 "column": 1 468 } 469 } 470 }, 471 "loc": { 472 "start": { 473 "line": 1, 474 "column": 1 475 }, 476 "end": { 477 "line": 1, 478 "column": 1 479 } 480 } 481 }, 482 "overloads": [], 483 "decorators": [], 484 "annotations": [], 485 "loc": { 486 "start": { 487 "line": 22, 488 "column": 10 489 }, 490 "end": { 491 "line": 25, 492 "column": 2 493 } 494 } 495 }, 496 "body": [ 497 { 498 "type": "MethodDefinition", 499 "key": { 500 "type": "Identifier", 501 "name": "foo", 502 "loc": { 503 "start": { 504 "line": 23, 505 "column": 23 506 }, 507 "end": { 508 "line": 23, 509 "column": 26 510 } 511 } 512 }, 513 "kind": "method", 514 "abstract": true, 515 "static": false, 516 "optional": false, 517 "override": true, 518 "computed": false, 519 "value": { 520 "type": "FunctionExpression", 521 "function": { 522 "type": "ScriptFunction", 523 "id": null, 524 "generator": false, 525 "async": false, 526 "expression": false, 527 "params": [], 528 "returnType": { 529 "type": "TSNumberKeyword", 530 "loc": { 531 "start": { 532 "line": 23, 533 "column": 30 534 }, 535 "end": { 536 "line": 23, 537 "column": 36 538 } 539 } 540 }, 541 "loc": { 542 "start": { 543 "line": 23, 544 "column": 26 545 }, 546 "end": { 547 "line": 23, 548 "column": 37 549 } 550 } 551 }, 552 "loc": { 553 "start": { 554 "line": 23, 555 "column": 26 556 }, 557 "end": { 558 "line": 23, 559 "column": 37 560 } 561 } 562 }, 563 "overloads": [], 564 "decorators": [], 565 "annotations": [], 566 "loc": { 567 "start": { 568 "line": 23, 569 "column": 5 570 }, 571 "end": { 572 "line": 23, 573 "column": 37 574 } 575 } 576 }, 577 { 578 "type": "MethodDefinition", 579 "key": { 580 "type": "Identifier", 581 "name": "bar", 582 "loc": { 583 "start": { 584 "line": 24, 585 "column": 5 586 }, 587 "end": { 588 "line": 24, 589 "column": 8 590 } 591 } 592 }, 593 "kind": "method", 594 "static": false, 595 "optional": false, 596 "computed": false, 597 "value": { 598 "type": "FunctionExpression", 599 "function": { 600 "type": "ScriptFunction", 601 "id": null, 602 "generator": false, 603 "async": false, 604 "expression": false, 605 "params": [], 606 "body": { 607 "type": "BlockStatement", 608 "statements": [], 609 "loc": { 610 "start": { 611 "line": 24, 612 "column": 11 613 }, 614 "end": { 615 "line": 24, 616 "column": 14 617 } 618 } 619 }, 620 "loc": { 621 "start": { 622 "line": 24, 623 "column": 8 624 }, 625 "end": { 626 "line": 24, 627 "column": 14 628 } 629 } 630 }, 631 "loc": { 632 "start": { 633 "line": 24, 634 "column": 8 635 }, 636 "end": { 637 "line": 24, 638 "column": 14 639 } 640 } 641 }, 642 "overloads": [], 643 "decorators": [], 644 "annotations": [], 645 "loc": { 646 "start": { 647 "line": 24, 648 "column": 5 649 }, 650 "end": { 651 "line": 24, 652 "column": 14 653 } 654 } 655 } 656 ], 657 "indexSignatures": [], 658 "loc": { 659 "start": { 660 "line": 22, 661 "column": 47 662 }, 663 "end": { 664 "line": 25, 665 "column": 2 666 } 667 } 668 }, 669 "decorators": [], 670 "isAnnotationDeclaration": false, 671 "loc": { 672 "start": { 673 "line": 22, 674 "column": 10 675 }, 676 "end": { 677 "line": 25, 678 "column": 2 679 } 680 } 681 } 682 ], 683 "loc": { 684 "start": { 685 "line": 1, 686 "column": 1 687 }, 688 "end": { 689 "line": 25, 690 "column": 2 691 } 692 } 693} 694