1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "O2", 10 "loc": { 11 "start": { 12 "line": 17, 13 "column": 7 14 }, 15 "end": { 16 "line": 17, 17 "column": 9 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 "loc": { 91 "start": { 92 "line": 17, 93 "column": 1 94 }, 95 "end": { 96 "line": 20, 97 "column": 2 98 } 99 } 100 }, 101 "body": [ 102 { 103 "type": "MethodDefinition", 104 "key": { 105 "type": "Identifier", 106 "name": "foo", 107 "loc": { 108 "start": { 109 "line": 18, 110 "column": 5 111 }, 112 "end": { 113 "line": 18, 114 "column": 8 115 } 116 } 117 }, 118 "kind": "method", 119 "static": false, 120 "optional": false, 121 "computed": false, 122 "value": { 123 "type": "FunctionExpression", 124 "function": { 125 "type": "ScriptFunction", 126 "id": null, 127 "generator": false, 128 "async": false, 129 "expression": false, 130 "params": [ 131 { 132 "type": "Identifier", 133 "name": "v", 134 "typeAnnotation": { 135 "type": "TSStringKeyword", 136 "loc": { 137 "start": { 138 "line": 18, 139 "column": 13 140 }, 141 "end": { 142 "line": 18, 143 "column": 19 144 } 145 } 146 }, 147 "loc": { 148 "start": { 149 "line": 18, 150 "column": 10 151 }, 152 "end": { 153 "line": 18, 154 "column": 11 155 } 156 } 157 } 158 ], 159 "body": { 160 "type": "BlockStatement", 161 "statements": [], 162 "loc": { 163 "start": { 164 "line": 18, 165 "column": 21 166 }, 167 "end": { 168 "line": 18, 169 "column": 23 170 } 171 } 172 }, 173 "loc": { 174 "start": { 175 "line": 18, 176 "column": 9 177 }, 178 "end": { 179 "line": 18, 180 "column": 23 181 } 182 } 183 }, 184 "loc": { 185 "start": { 186 "line": 18, 187 "column": 9 188 }, 189 "end": { 190 "line": 18, 191 "column": 23 192 } 193 } 194 }, 195 "overloads": [], 196 "decorators": [], 197 "loc": { 198 "start": { 199 "line": 18, 200 "column": 5 201 }, 202 "end": { 203 "line": 18, 204 "column": 23 205 } 206 } 207 }, 208 { 209 "type": "MethodDefinition", 210 "key": { 211 "type": "Identifier", 212 "name": "fooo", 213 "loc": { 214 "start": { 215 "line": 19, 216 "column": 5 217 }, 218 "end": { 219 "line": 19, 220 "column": 9 221 } 222 } 223 }, 224 "kind": "method", 225 "static": false, 226 "optional": false, 227 "computed": false, 228 "value": { 229 "type": "FunctionExpression", 230 "function": { 231 "type": "ScriptFunction", 232 "id": null, 233 "generator": false, 234 "async": false, 235 "expression": false, 236 "params": [ 237 { 238 "type": "Identifier", 239 "name": "v", 240 "typeAnnotation": { 241 "type": "TSStringKeyword", 242 "loc": { 243 "start": { 244 "line": 19, 245 "column": 14 246 }, 247 "end": { 248 "line": 19, 249 "column": 20 250 } 251 } 252 }, 253 "loc": { 254 "start": { 255 "line": 19, 256 "column": 11 257 }, 258 "end": { 259 "line": 19, 260 "column": 12 261 } 262 } 263 } 264 ], 265 "body": { 266 "type": "BlockStatement", 267 "statements": [], 268 "loc": { 269 "start": { 270 "line": 19, 271 "column": 22 272 }, 273 "end": { 274 "line": 19, 275 "column": 24 276 } 277 } 278 }, 279 "loc": { 280 "start": { 281 "line": 19, 282 "column": 10 283 }, 284 "end": { 285 "line": 19, 286 "column": 24 287 } 288 } 289 }, 290 "loc": { 291 "start": { 292 "line": 19, 293 "column": 10 294 }, 295 "end": { 296 "line": 19, 297 "column": 24 298 } 299 } 300 }, 301 "overloads": [], 302 "decorators": [], 303 "loc": { 304 "start": { 305 "line": 19, 306 "column": 5 307 }, 308 "end": { 309 "line": 19, 310 "column": 24 311 } 312 } 313 } 314 ], 315 "indexSignatures": [], 316 "loc": { 317 "start": { 318 "line": 17, 319 "column": 10 320 }, 321 "end": { 322 "line": 20, 323 "column": 2 324 } 325 } 326 }, 327 "decorators": [], 328 "loc": { 329 "start": { 330 "line": 17, 331 "column": 1 332 }, 333 "end": { 334 "line": 20, 335 "column": 2 336 } 337 } 338 }, 339 { 340 "type": "ClassDeclaration", 341 "definition": { 342 "id": { 343 "type": "Identifier", 344 "name": "O3", 345 "loc": { 346 "start": { 347 "line": 22, 348 "column": 7 349 }, 350 "end": { 351 "line": 22, 352 "column": 9 353 } 354 } 355 }, 356 "superClass": { 357 "type": "Identifier", 358 "name": "O2", 359 "loc": { 360 "start": { 361 "line": 22, 362 "column": 18 363 }, 364 "end": { 365 "line": 22, 366 "column": 20 367 } 368 } 369 }, 370 "implements": [], 371 "constructor": { 372 "type": "MethodDefinition", 373 "key": { 374 "type": "Identifier", 375 "name": "constructor", 376 "loc": { 377 "start": { 378 "line": 1, 379 "column": 1 380 }, 381 "end": { 382 "line": 1, 383 "column": 1 384 } 385 } 386 }, 387 "kind": "constructor", 388 "static": false, 389 "optional": false, 390 "computed": false, 391 "value": { 392 "type": "FunctionExpression", 393 "function": { 394 "type": "ScriptFunction", 395 "id": null, 396 "generator": false, 397 "async": false, 398 "expression": false, 399 "params": [ 400 { 401 "type": "RestElement", 402 "argument": { 403 "type": "Identifier", 404 "name": "args", 405 "loc": { 406 "start": { 407 "line": 1, 408 "column": 1 409 }, 410 "end": { 411 "line": 1, 412 "column": 1 413 } 414 } 415 }, 416 "loc": { 417 "start": { 418 "line": 1, 419 "column": 1 420 }, 421 "end": { 422 "line": 1, 423 "column": 1 424 } 425 } 426 } 427 ], 428 "body": { 429 "type": "BlockStatement", 430 "statements": [ 431 { 432 "type": "ExpressionStatement", 433 "expression": { 434 "type": "CallExpression", 435 "callee": { 436 "type": "Super", 437 "loc": { 438 "start": { 439 "line": 1, 440 "column": 1 441 }, 442 "end": { 443 "line": 1, 444 "column": 1 445 } 446 } 447 }, 448 "arguments": [ 449 { 450 "type": "SpreadElement", 451 "argument": { 452 "type": "Identifier", 453 "name": "args", 454 "loc": { 455 "start": { 456 "line": 1, 457 "column": 1 458 }, 459 "end": { 460 "line": 1, 461 "column": 1 462 } 463 } 464 }, 465 "loc": { 466 "start": { 467 "line": 1, 468 "column": 1 469 }, 470 "end": { 471 "line": 1, 472 "column": 1 473 } 474 } 475 } 476 ], 477 "optional": false, 478 "loc": { 479 "start": { 480 "line": 1, 481 "column": 1 482 }, 483 "end": { 484 "line": 1, 485 "column": 1 486 } 487 } 488 }, 489 "loc": { 490 "start": { 491 "line": 1, 492 "column": 1 493 }, 494 "end": { 495 "line": 1, 496 "column": 1 497 } 498 } 499 } 500 ], 501 "loc": { 502 "start": { 503 "line": 1, 504 "column": 1 505 }, 506 "end": { 507 "line": 1, 508 "column": 1 509 } 510 } 511 }, 512 "loc": { 513 "start": { 514 "line": 1, 515 "column": 1 516 }, 517 "end": { 518 "line": 1, 519 "column": 1 520 } 521 } 522 }, 523 "loc": { 524 "start": { 525 "line": 1, 526 "column": 1 527 }, 528 "end": { 529 "line": 1, 530 "column": 1 531 } 532 } 533 }, 534 "overloads": [], 535 "decorators": [], 536 "loc": { 537 "start": { 538 "line": 22, 539 "column": 1 540 }, 541 "end": { 542 "line": 25, 543 "column": 2 544 } 545 } 546 }, 547 "body": [ 548 { 549 "type": "MethodDefinition", 550 "key": { 551 "type": "Identifier", 552 "name": "foo", 553 "loc": { 554 "start": { 555 "line": 23, 556 "column": 14 557 }, 558 "end": { 559 "line": 23, 560 "column": 17 561 } 562 } 563 }, 564 "kind": "method", 565 "static": false, 566 "optional": false, 567 "override": true, 568 "computed": false, 569 "value": { 570 "type": "FunctionExpression", 571 "function": { 572 "type": "ScriptFunction", 573 "id": null, 574 "generator": false, 575 "async": false, 576 "expression": false, 577 "params": [ 578 { 579 "type": "Identifier", 580 "name": "v", 581 "typeAnnotation": { 582 "type": "TSStringKeyword", 583 "loc": { 584 "start": { 585 "line": 23, 586 "column": 22 587 }, 588 "end": { 589 "line": 23, 590 "column": 28 591 } 592 } 593 }, 594 "loc": { 595 "start": { 596 "line": 23, 597 "column": 19 598 }, 599 "end": { 600 "line": 23, 601 "column": 20 602 } 603 } 604 } 605 ], 606 "body": { 607 "type": "BlockStatement", 608 "statements": [], 609 "loc": { 610 "start": { 611 "line": 23, 612 "column": 30 613 }, 614 "end": { 615 "line": 23, 616 "column": 32 617 } 618 } 619 }, 620 "loc": { 621 "start": { 622 "line": 23, 623 "column": 18 624 }, 625 "end": { 626 "line": 23, 627 "column": 32 628 } 629 } 630 }, 631 "loc": { 632 "start": { 633 "line": 23, 634 "column": 18 635 }, 636 "end": { 637 "line": 23, 638 "column": 32 639 } 640 } 641 }, 642 "overloads": [], 643 "decorators": [], 644 "loc": { 645 "start": { 646 "line": 23, 647 "column": 5 648 }, 649 "end": { 650 "line": 23, 651 "column": 32 652 } 653 } 654 }, 655 { 656 "type": "MethodDefinition", 657 "key": { 658 "type": "Identifier", 659 "name": "fooo", 660 "loc": { 661 "start": { 662 "line": 24, 663 "column": 5 664 }, 665 "end": { 666 "line": 24, 667 "column": 9 668 } 669 } 670 }, 671 "kind": "method", 672 "static": false, 673 "optional": false, 674 "computed": false, 675 "value": { 676 "type": "FunctionExpression", 677 "function": { 678 "type": "ScriptFunction", 679 "id": null, 680 "generator": false, 681 "async": false, 682 "expression": false, 683 "params": [ 684 { 685 "type": "Identifier", 686 "name": "v", 687 "typeAnnotation": { 688 "type": "TSStringKeyword", 689 "loc": { 690 "start": { 691 "line": 24, 692 "column": 14 693 }, 694 "end": { 695 "line": 24, 696 "column": 20 697 } 698 } 699 }, 700 "loc": { 701 "start": { 702 "line": 24, 703 "column": 11 704 }, 705 "end": { 706 "line": 24, 707 "column": 12 708 } 709 } 710 } 711 ], 712 "body": { 713 "type": "BlockStatement", 714 "statements": [], 715 "loc": { 716 "start": { 717 "line": 24, 718 "column": 22 719 }, 720 "end": { 721 "line": 24, 722 "column": 24 723 } 724 } 725 }, 726 "loc": { 727 "start": { 728 "line": 24, 729 "column": 10 730 }, 731 "end": { 732 "line": 24, 733 "column": 24 734 } 735 } 736 }, 737 "loc": { 738 "start": { 739 "line": 24, 740 "column": 10 741 }, 742 "end": { 743 "line": 24, 744 "column": 24 745 } 746 } 747 }, 748 "overloads": [], 749 "decorators": [], 750 "loc": { 751 "start": { 752 "line": 24, 753 "column": 5 754 }, 755 "end": { 756 "line": 24, 757 "column": 24 758 } 759 } 760 } 761 ], 762 "indexSignatures": [], 763 "loc": { 764 "start": { 765 "line": 22, 766 "column": 21 767 }, 768 "end": { 769 "line": 25, 770 "column": 2 771 } 772 } 773 }, 774 "decorators": [], 775 "loc": { 776 "start": { 777 "line": 22, 778 "column": 1 779 }, 780 "end": { 781 "line": 25, 782 "column": 2 783 } 784 } 785 } 786 ], 787 "loc": { 788 "start": { 789 "line": 1, 790 "column": 1 791 }, 792 "end": { 793 "line": 26, 794 "column": 1 795 } 796 } 797} 798