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