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