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