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