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