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