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