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 "program": "override4.ets" 20 }, 21 "end": { 22 "line": 17, 23 "column": 5, 24 "program": "override4.ets" 25 } 26 } 27 }, 28 "kind": "method", 29 "accessibility": "public", 30 "static": false, 31 "optional": false, 32 "computed": false, 33 "value": { 34 "type": "FunctionExpression", 35 "function": { 36 "type": "ScriptFunction", 37 "id": { 38 "type": "Identifier", 39 "name": "fn", 40 "decorators": [], 41 "loc": { 42 "start": { 43 "line": 17, 44 "column": 3, 45 "program": "override4.ets" 46 }, 47 "end": { 48 "line": 17, 49 "column": 5, 50 "program": "override4.ets" 51 } 52 } 53 }, 54 "generator": false, 55 "async": false, 56 "expression": false, 57 "params": [], 58 "returnType": { 59 "type": "ETSPrimitiveType", 60 "loc": { 61 "start": { 62 "line": 17, 63 "column": 9, 64 "program": "override4.ets" 65 }, 66 "end": { 67 "line": 17, 68 "column": 12, 69 "program": "override4.ets" 70 } 71 } 72 }, 73 "body": { 74 "type": "BlockStatement", 75 "statements": [ 76 { 77 "type": "ReturnStatement", 78 "argument": { 79 "type": "NumberLiteral", 80 "value": 1, 81 "loc": { 82 "start": { 83 "line": 17, 84 "column": 22, 85 "program": "override4.ets" 86 }, 87 "end": { 88 "line": 17, 89 "column": 23, 90 "program": "override4.ets" 91 } 92 } 93 }, 94 "loc": { 95 "start": { 96 "line": 17, 97 "column": 15, 98 "program": "override4.ets" 99 }, 100 "end": { 101 "line": 17, 102 "column": 24, 103 "program": "override4.ets" 104 } 105 } 106 } 107 ], 108 "loc": { 109 "start": { 110 "line": 17, 111 "column": 13, 112 "program": "override4.ets" 113 }, 114 "end": { 115 "line": 17, 116 "column": 26, 117 "program": "override4.ets" 118 } 119 } 120 }, 121 "loc": { 122 "start": { 123 "line": 17, 124 "column": 5, 125 "program": "override4.ets" 126 }, 127 "end": { 128 "line": 17, 129 "column": 26, 130 "program": "override4.ets" 131 } 132 } 133 }, 134 "loc": { 135 "start": { 136 "line": 17, 137 "column": 5, 138 "program": "override4.ets" 139 }, 140 "end": { 141 "line": 17, 142 "column": 26, 143 "program": "override4.ets" 144 } 145 } 146 }, 147 "overloads": [], 148 "decorators": [], 149 "loc": { 150 "start": { 151 "line": 17, 152 "column": 3, 153 "program": "override4.ets" 154 }, 155 "end": { 156 "line": 17, 157 "column": 26, 158 "program": "override4.ets" 159 } 160 } 161 } 162 ], 163 "loc": { 164 "start": { 165 "line": 16, 166 "column": 13, 167 "program": "override4.ets" 168 }, 169 "end": { 170 "line": 18, 171 "column": 2, 172 "program": "override4.ets" 173 } 174 } 175 }, 176 "id": { 177 "type": "Identifier", 178 "name": "I", 179 "decorators": [], 180 "loc": { 181 "start": { 182 "line": 16, 183 "column": 11, 184 "program": "override4.ets" 185 }, 186 "end": { 187 "line": 16, 188 "column": 12, 189 "program": "override4.ets" 190 } 191 } 192 }, 193 "extends": [], 194 "loc": { 195 "start": { 196 "line": 16, 197 "column": 1, 198 "program": "override4.ets" 199 }, 200 "end": { 201 "line": 20, 202 "column": 6, 203 "program": "override4.ets" 204 } 205 } 206 }, 207 { 208 "type": "ClassDeclaration", 209 "definition": { 210 "id": { 211 "type": "Identifier", 212 "name": "A", 213 "decorators": [], 214 "loc": { 215 "start": { 216 "line": 20, 217 "column": 7, 218 "program": "override4.ets" 219 }, 220 "end": { 221 "line": 20, 222 "column": 8, 223 "program": "override4.ets" 224 } 225 } 226 }, 227 "superClass": null, 228 "implements": [], 229 "body": [ 230 { 231 "type": "MethodDefinition", 232 "key": { 233 "type": "Identifier", 234 "name": "fn", 235 "decorators": [], 236 "loc": { 237 "start": { 238 "line": 21, 239 "column": 3, 240 "program": "override4.ets" 241 }, 242 "end": { 243 "line": 21, 244 "column": 5, 245 "program": "override4.ets" 246 } 247 } 248 }, 249 "kind": "method", 250 "accessibility": "public", 251 "static": false, 252 "optional": false, 253 "computed": false, 254 "value": { 255 "type": "FunctionExpression", 256 "function": { 257 "type": "ScriptFunction", 258 "id": { 259 "type": "Identifier", 260 "name": "fn", 261 "decorators": [], 262 "loc": { 263 "start": { 264 "line": 21, 265 "column": 3, 266 "program": "override4.ets" 267 }, 268 "end": { 269 "line": 21, 270 "column": 5, 271 "program": "override4.ets" 272 } 273 } 274 }, 275 "generator": false, 276 "async": false, 277 "expression": false, 278 "params": [], 279 "returnType": { 280 "type": "ETSPrimitiveType", 281 "loc": { 282 "start": { 283 "line": 21, 284 "column": 9, 285 "program": "override4.ets" 286 }, 287 "end": { 288 "line": 21, 289 "column": 12, 290 "program": "override4.ets" 291 } 292 } 293 }, 294 "body": { 295 "type": "BlockStatement", 296 "statements": [ 297 { 298 "type": "ReturnStatement", 299 "argument": { 300 "type": "NumberLiteral", 301 "value": 42, 302 "loc": { 303 "start": { 304 "line": 21, 305 "column": 22, 306 "program": "override4.ets" 307 }, 308 "end": { 309 "line": 21, 310 "column": 24, 311 "program": "override4.ets" 312 } 313 } 314 }, 315 "loc": { 316 "start": { 317 "line": 21, 318 "column": 15, 319 "program": "override4.ets" 320 }, 321 "end": { 322 "line": 21, 323 "column": 25, 324 "program": "override4.ets" 325 } 326 } 327 } 328 ], 329 "loc": { 330 "start": { 331 "line": 21, 332 "column": 13, 333 "program": "override4.ets" 334 }, 335 "end": { 336 "line": 21, 337 "column": 27, 338 "program": "override4.ets" 339 } 340 } 341 }, 342 "loc": { 343 "start": { 344 "line": 21, 345 "column": 5, 346 "program": "override4.ets" 347 }, 348 "end": { 349 "line": 21, 350 "column": 27, 351 "program": "override4.ets" 352 } 353 } 354 }, 355 "loc": { 356 "start": { 357 "line": 21, 358 "column": 5, 359 "program": "override4.ets" 360 }, 361 "end": { 362 "line": 21, 363 "column": 27, 364 "program": "override4.ets" 365 } 366 } 367 }, 368 "overloads": [], 369 "decorators": [], 370 "loc": { 371 "start": { 372 "line": 21, 373 "column": 3, 374 "program": "override4.ets" 375 }, 376 "end": { 377 "line": 21, 378 "column": 27, 379 "program": "override4.ets" 380 } 381 } 382 }, 383 { 384 "type": "MethodDefinition", 385 "key": { 386 "type": "Identifier", 387 "name": "constructor", 388 "decorators": [], 389 "loc": { 390 "start": { 391 "line": 20, 392 "column": 10, 393 "program": "override4.ets" 394 }, 395 "end": { 396 "line": 20, 397 "column": 10, 398 "program": "override4.ets" 399 } 400 } 401 }, 402 "kind": "constructor", 403 "static": false, 404 "optional": false, 405 "computed": false, 406 "value": { 407 "type": "FunctionExpression", 408 "function": { 409 "type": "ScriptFunction", 410 "id": { 411 "type": "Identifier", 412 "name": "constructor", 413 "decorators": [], 414 "loc": { 415 "start": { 416 "line": 20, 417 "column": 10, 418 "program": "override4.ets" 419 }, 420 "end": { 421 "line": 20, 422 "column": 10, 423 "program": "override4.ets" 424 } 425 } 426 }, 427 "generator": false, 428 "async": false, 429 "expression": false, 430 "params": [], 431 "body": { 432 "type": "BlockStatement", 433 "statements": [], 434 "loc": { 435 "start": { 436 "line": 20, 437 "column": 10, 438 "program": "override4.ets" 439 }, 440 "end": { 441 "line": 20, 442 "column": 10, 443 "program": "override4.ets" 444 } 445 } 446 }, 447 "loc": { 448 "start": { 449 "line": 20, 450 "column": 10, 451 "program": "override4.ets" 452 }, 453 "end": { 454 "line": 20, 455 "column": 10, 456 "program": "override4.ets" 457 } 458 } 459 }, 460 "loc": { 461 "start": { 462 "line": 20, 463 "column": 10, 464 "program": "override4.ets" 465 }, 466 "end": { 467 "line": 20, 468 "column": 10, 469 "program": "override4.ets" 470 } 471 } 472 }, 473 "overloads": [], 474 "decorators": [], 475 "loc": { 476 "start": { 477 "line": 1, 478 "column": 1, 479 "program": null 480 }, 481 "end": { 482 "line": 1, 483 "column": 1, 484 "program": null 485 } 486 } 487 } 488 ], 489 "loc": { 490 "start": { 491 "line": 20, 492 "column": 9, 493 "program": "override4.ets" 494 }, 495 "end": { 496 "line": 24, 497 "column": 6, 498 "program": "override4.ets" 499 } 500 } 501 }, 502 "loc": { 503 "start": { 504 "line": 20, 505 "column": 1, 506 "program": "override4.ets" 507 }, 508 "end": { 509 "line": 24, 510 "column": 6, 511 "program": "override4.ets" 512 } 513 } 514 }, 515 { 516 "type": "ClassDeclaration", 517 "definition": { 518 "id": { 519 "type": "Identifier", 520 "name": "B", 521 "decorators": [], 522 "loc": { 523 "start": { 524 "line": 24, 525 "column": 7, 526 "program": "override4.ets" 527 }, 528 "end": { 529 "line": 24, 530 "column": 8, 531 "program": "override4.ets" 532 } 533 } 534 }, 535 "superClass": { 536 "type": "ETSTypeReference", 537 "part": { 538 "type": "ETSTypeReferencePart", 539 "name": { 540 "type": "Identifier", 541 "name": "A", 542 "decorators": [], 543 "loc": { 544 "start": { 545 "line": 24, 546 "column": 17, 547 "program": "override4.ets" 548 }, 549 "end": { 550 "line": 24, 551 "column": 18, 552 "program": "override4.ets" 553 } 554 } 555 }, 556 "loc": { 557 "start": { 558 "line": 24, 559 "column": 17, 560 "program": "override4.ets" 561 }, 562 "end": { 563 "line": 24, 564 "column": 29, 565 "program": "override4.ets" 566 } 567 } 568 }, 569 "loc": { 570 "start": { 571 "line": 24, 572 "column": 17, 573 "program": "override4.ets" 574 }, 575 "end": { 576 "line": 24, 577 "column": 29, 578 "program": "override4.ets" 579 } 580 } 581 }, 582 "implements": [ 583 { 584 "type": "TSClassImplements", 585 "expression": { 586 "type": "ETSTypeReference", 587 "part": { 588 "type": "ETSTypeReferencePart", 589 "name": { 590 "type": "Identifier", 591 "name": "I", 592 "decorators": [], 593 "loc": { 594 "start": { 595 "line": 24, 596 "column": 30, 597 "program": "override4.ets" 598 }, 599 "end": { 600 "line": 24, 601 "column": 31, 602 "program": "override4.ets" 603 } 604 } 605 }, 606 "loc": { 607 "start": { 608 "line": 24, 609 "column": 30, 610 "program": "override4.ets" 611 }, 612 "end": { 613 "line": 24, 614 "column": 33, 615 "program": "override4.ets" 616 } 617 } 618 }, 619 "loc": { 620 "start": { 621 "line": 24, 622 "column": 30, 623 "program": "override4.ets" 624 }, 625 "end": { 626 "line": 24, 627 "column": 33, 628 "program": "override4.ets" 629 } 630 } 631 }, 632 "loc": { 633 "start": { 634 "line": 24, 635 "column": 30, 636 "program": "override4.ets" 637 }, 638 "end": { 639 "line": 24, 640 "column": 33, 641 "program": "override4.ets" 642 } 643 } 644 } 645 ], 646 "body": [ 647 { 648 "type": "MethodDefinition", 649 "key": { 650 "type": "Identifier", 651 "name": "constructor", 652 "decorators": [], 653 "loc": { 654 "start": { 655 "line": 24, 656 "column": 33, 657 "program": "override4.ets" 658 }, 659 "end": { 660 "line": 24, 661 "column": 33, 662 "program": "override4.ets" 663 } 664 } 665 }, 666 "kind": "constructor", 667 "static": false, 668 "optional": false, 669 "computed": false, 670 "value": { 671 "type": "FunctionExpression", 672 "function": { 673 "type": "ScriptFunction", 674 "id": { 675 "type": "Identifier", 676 "name": "constructor", 677 "decorators": [], 678 "loc": { 679 "start": { 680 "line": 24, 681 "column": 33, 682 "program": "override4.ets" 683 }, 684 "end": { 685 "line": 24, 686 "column": 33, 687 "program": "override4.ets" 688 } 689 } 690 }, 691 "generator": false, 692 "async": false, 693 "expression": false, 694 "params": [], 695 "body": { 696 "type": "BlockStatement", 697 "statements": [], 698 "loc": { 699 "start": { 700 "line": 24, 701 "column": 33, 702 "program": "override4.ets" 703 }, 704 "end": { 705 "line": 24, 706 "column": 33, 707 "program": "override4.ets" 708 } 709 } 710 }, 711 "loc": { 712 "start": { 713 "line": 24, 714 "column": 33, 715 "program": "override4.ets" 716 }, 717 "end": { 718 "line": 24, 719 "column": 33, 720 "program": "override4.ets" 721 } 722 } 723 }, 724 "loc": { 725 "start": { 726 "line": 24, 727 "column": 33, 728 "program": "override4.ets" 729 }, 730 "end": { 731 "line": 24, 732 "column": 33, 733 "program": "override4.ets" 734 } 735 } 736 }, 737 "overloads": [], 738 "decorators": [], 739 "loc": { 740 "start": { 741 "line": 1, 742 "column": 1, 743 "program": null 744 }, 745 "end": { 746 "line": 1, 747 "column": 1, 748 "program": null 749 } 750 } 751 } 752 ], 753 "loc": { 754 "start": { 755 "line": 24, 756 "column": 32, 757 "program": "override4.ets" 758 }, 759 "end": { 760 "line": 25, 761 "column": 1, 762 "program": "override4.ets" 763 } 764 } 765 }, 766 "loc": { 767 "start": { 768 "line": 24, 769 "column": 1, 770 "program": "override4.ets" 771 }, 772 "end": { 773 "line": 25, 774 "column": 1, 775 "program": "override4.ets" 776 } 777 } 778 }, 779 { 780 "type": "ClassDeclaration", 781 "definition": { 782 "id": { 783 "type": "Identifier", 784 "name": "ETSGLOBAL", 785 "decorators": [], 786 "loc": { 787 "start": { 788 "line": 1, 789 "column": 1, 790 "program": "override4.ets" 791 }, 792 "end": { 793 "line": 1, 794 "column": 1, 795 "program": "override4.ets" 796 } 797 } 798 }, 799 "superClass": null, 800 "implements": [], 801 "body": [ 802 { 803 "type": "MethodDefinition", 804 "key": { 805 "type": "Identifier", 806 "name": "main", 807 "decorators": [], 808 "loc": { 809 "start": { 810 "line": 1, 811 "column": 1, 812 "program": null 813 }, 814 "end": { 815 "line": 1, 816 "column": 1, 817 "program": null 818 } 819 } 820 }, 821 "kind": "method", 822 "accessibility": "public", 823 "static": true, 824 "optional": false, 825 "computed": false, 826 "value": { 827 "type": "FunctionExpression", 828 "function": { 829 "type": "ScriptFunction", 830 "id": { 831 "type": "Identifier", 832 "name": "main", 833 "decorators": [], 834 "loc": { 835 "start": { 836 "line": 1, 837 "column": 1, 838 "program": null 839 }, 840 "end": { 841 "line": 1, 842 "column": 1, 843 "program": null 844 } 845 } 846 }, 847 "generator": false, 848 "async": false, 849 "expression": false, 850 "params": [], 851 "body": { 852 "type": "BlockStatement", 853 "statements": [], 854 "loc": { 855 "start": { 856 "line": 1, 857 "column": 1, 858 "program": null 859 }, 860 "end": { 861 "line": 1, 862 "column": 1, 863 "program": null 864 } 865 } 866 }, 867 "loc": { 868 "start": { 869 "line": 1, 870 "column": 1, 871 "program": null 872 }, 873 "end": { 874 "line": 1, 875 "column": 1, 876 "program": null 877 } 878 } 879 }, 880 "loc": { 881 "start": { 882 "line": 1, 883 "column": 1, 884 "program": null 885 }, 886 "end": { 887 "line": 1, 888 "column": 1, 889 "program": null 890 } 891 } 892 }, 893 "overloads": [], 894 "decorators": [], 895 "loc": { 896 "start": { 897 "line": 1, 898 "column": 1, 899 "program": "override4.ets" 900 }, 901 "end": { 902 "line": 1, 903 "column": 1, 904 "program": "override4.ets" 905 } 906 } 907 }, 908 { 909 "type": "MethodDefinition", 910 "key": { 911 "type": "Identifier", 912 "name": "_$init$_", 913 "decorators": [], 914 "loc": { 915 "start": { 916 "line": 1, 917 "column": 1, 918 "program": null 919 }, 920 "end": { 921 "line": 1, 922 "column": 1, 923 "program": null 924 } 925 } 926 }, 927 "kind": "method", 928 "accessibility": "public", 929 "static": true, 930 "optional": false, 931 "computed": false, 932 "value": { 933 "type": "FunctionExpression", 934 "function": { 935 "type": "ScriptFunction", 936 "id": { 937 "type": "Identifier", 938 "name": "_$init$_", 939 "decorators": [], 940 "loc": { 941 "start": { 942 "line": 1, 943 "column": 1, 944 "program": null 945 }, 946 "end": { 947 "line": 1, 948 "column": 1, 949 "program": null 950 } 951 } 952 }, 953 "generator": false, 954 "async": false, 955 "expression": false, 956 "params": [], 957 "body": { 958 "type": "BlockStatement", 959 "statements": [], 960 "loc": { 961 "start": { 962 "line": 1, 963 "column": 1, 964 "program": null 965 }, 966 "end": { 967 "line": 1, 968 "column": 1, 969 "program": null 970 } 971 } 972 }, 973 "loc": { 974 "start": { 975 "line": 1, 976 "column": 1, 977 "program": null 978 }, 979 "end": { 980 "line": 1, 981 "column": 1, 982 "program": null 983 } 984 } 985 }, 986 "loc": { 987 "start": { 988 "line": 1, 989 "column": 1, 990 "program": null 991 }, 992 "end": { 993 "line": 1, 994 "column": 1, 995 "program": null 996 } 997 } 998 }, 999 "overloads": [], 1000 "decorators": [], 1001 "loc": { 1002 "start": { 1003 "line": 1, 1004 "column": 1, 1005 "program": "override4.ets" 1006 }, 1007 "end": { 1008 "line": 1, 1009 "column": 1, 1010 "program": "override4.ets" 1011 } 1012 } 1013 } 1014 ], 1015 "loc": { 1016 "start": { 1017 "line": 1, 1018 "column": 1, 1019 "program": "override4.ets" 1020 }, 1021 "end": { 1022 "line": 1, 1023 "column": 1, 1024 "program": "override4.ets" 1025 } 1026 } 1027 }, 1028 "loc": { 1029 "start": { 1030 "line": 1, 1031 "column": 1, 1032 "program": "override4.ets" 1033 }, 1034 "end": { 1035 "line": 1, 1036 "column": 1, 1037 "program": "override4.ets" 1038 } 1039 } 1040 } 1041 ], 1042 "loc": { 1043 "start": { 1044 "line": 1, 1045 "column": 1, 1046 "program": "override4.ets" 1047 }, 1048 "end": { 1049 "line": 25, 1050 "column": 1, 1051 "program": "override4.ets" 1052 } 1053 } 1054} 1055