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