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 "body": { 596 "type": "BlockStatement", 597 "statements": [], 598 "loc": { 599 "start": { 600 "line": 25, 601 "column": 18 602 }, 603 "end": { 604 "line": 25, 605 "column": 20 606 } 607 } 608 }, 609 "loc": { 610 "start": { 611 "line": 25, 612 "column": 9 613 }, 614 "end": { 615 "line": 25, 616 "column": 20 617 } 618 } 619 }, 620 "loc": { 621 "start": { 622 "line": 25, 623 "column": 9 624 }, 625 "end": { 626 "line": 25, 627 "column": 20 628 } 629 } 630 }, 631 "overloads": [], 632 "decorators": [], 633 "loc": { 634 "start": { 635 "line": 25, 636 "column": 5 637 }, 638 "end": { 639 "line": 25, 640 "column": 20 641 } 642 } 643 } 644 ], 645 "loc": { 646 "start": { 647 "line": 24, 648 "column": 17 649 }, 650 "end": { 651 "line": 26, 652 "column": 2 653 } 654 } 655 }, 656 "id": { 657 "type": "Identifier", 658 "name": "inter", 659 "decorators": [], 660 "loc": { 661 "start": { 662 "line": 24, 663 "column": 11 664 }, 665 "end": { 666 "line": 24, 667 "column": 16 668 } 669 } 670 }, 671 "extends": [], 672 "loc": { 673 "start": { 674 "line": 24, 675 "column": 1 676 }, 677 "end": { 678 "line": 27, 679 "column": 1 680 } 681 } 682 }, 683 { 684 "type": "ClassDeclaration", 685 "definition": { 686 "id": { 687 "type": "Identifier", 688 "name": "ETSGLOBAL", 689 "decorators": [], 690 "loc": { 691 "start": { 692 "line": 1, 693 "column": 1 694 }, 695 "end": { 696 "line": 1, 697 "column": 1 698 } 699 } 700 }, 701 "superClass": null, 702 "implements": [], 703 "body": [ 704 { 705 "type": "MethodDefinition", 706 "key": { 707 "type": "Identifier", 708 "name": "_$init$_", 709 "decorators": [], 710 "loc": { 711 "start": { 712 "line": 1, 713 "column": 1 714 }, 715 "end": { 716 "line": 1, 717 "column": 1 718 } 719 } 720 }, 721 "kind": "method", 722 "accessibility": "public", 723 "static": true, 724 "optional": false, 725 "computed": false, 726 "value": { 727 "type": "FunctionExpression", 728 "function": { 729 "type": "ScriptFunction", 730 "id": { 731 "type": "Identifier", 732 "name": "_$init$_", 733 "decorators": [], 734 "loc": { 735 "start": { 736 "line": 1, 737 "column": 1 738 }, 739 "end": { 740 "line": 1, 741 "column": 1 742 } 743 } 744 }, 745 "generator": false, 746 "async": false, 747 "expression": false, 748 "params": [], 749 "body": { 750 "type": "BlockStatement", 751 "statements": [], 752 "loc": { 753 "start": { 754 "line": 1, 755 "column": 1 756 }, 757 "end": { 758 "line": 1, 759 "column": 1 760 } 761 } 762 }, 763 "loc": { 764 "start": { 765 "line": 1, 766 "column": 1 767 }, 768 "end": { 769 "line": 1, 770 "column": 1 771 } 772 } 773 }, 774 "loc": { 775 "start": { 776 "line": 1, 777 "column": 1 778 }, 779 "end": { 780 "line": 1, 781 "column": 1 782 } 783 } 784 }, 785 "overloads": [], 786 "decorators": [], 787 "loc": { 788 "start": { 789 "line": 1, 790 "column": 1 791 }, 792 "end": { 793 "line": 1, 794 "column": 1 795 } 796 } 797 } 798 ], 799 "loc": { 800 "start": { 801 "line": 1, 802 "column": 1 803 }, 804 "end": { 805 "line": 1, 806 "column": 1 807 } 808 } 809 }, 810 "loc": { 811 "start": { 812 "line": 1, 813 "column": 1 814 }, 815 "end": { 816 "line": 1, 817 "column": 1 818 } 819 } 820 } 821 ], 822 "loc": { 823 "start": { 824 "line": 1, 825 "column": 1 826 }, 827 "end": { 828 "line": 27, 829 "column": 1 830 } 831 } 832} 833