1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "C", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 23, 14 "column": 7 15 }, 16 "end": { 17 "line": 23, 18 "column": 8 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 "static": false, 44 "optional": false, 45 "computed": false, 46 "value": { 47 "type": "FunctionExpression", 48 "function": { 49 "type": "ScriptFunction", 50 "id": { 51 "type": "Identifier", 52 "name": "constructor", 53 "decorators": [], 54 "loc": { 55 "start": { 56 "line": 1, 57 "column": 1 58 }, 59 "end": { 60 "line": 1, 61 "column": 1 62 } 63 } 64 }, 65 "generator": false, 66 "async": false, 67 "expression": false, 68 "params": [], 69 "body": { 70 "type": "BlockStatement", 71 "statements": [], 72 "loc": { 73 "start": { 74 "line": 1, 75 "column": 1 76 }, 77 "end": { 78 "line": 1, 79 "column": 1 80 } 81 } 82 }, 83 "loc": { 84 "start": { 85 "line": 1, 86 "column": 1 87 }, 88 "end": { 89 "line": 1, 90 "column": 1 91 } 92 } 93 }, 94 "loc": { 95 "start": { 96 "line": 1, 97 "column": 1 98 }, 99 "end": { 100 "line": 1, 101 "column": 1 102 } 103 } 104 }, 105 "overloads": [], 106 "decorators": [], 107 "loc": { 108 "start": { 109 "line": 23, 110 "column": 11 111 }, 112 "end": { 113 "line": 23, 114 "column": 11 115 } 116 } 117 } 118 ], 119 "loc": { 120 "start": { 121 "line": 23, 122 "column": 9 123 }, 124 "end": { 125 "line": 23, 126 "column": 11 127 } 128 } 129 }, 130 "loc": { 131 "start": { 132 "line": 23, 133 "column": 1 134 }, 135 "end": { 136 "line": 23, 137 "column": 11 138 } 139 } 140 }, 141 { 142 "type": "ClassDeclaration", 143 "definition": { 144 "id": { 145 "type": "Identifier", 146 "name": "ETSGLOBAL", 147 "decorators": [], 148 "loc": { 149 "start": { 150 "line": 1, 151 "column": 1 152 }, 153 "end": { 154 "line": 1, 155 "column": 1 156 } 157 } 158 }, 159 "superClass": null, 160 "implements": [], 161 "body": [ 162 { 163 "type": "MethodDefinition", 164 "key": { 165 "type": "Identifier", 166 "name": "_$init$_", 167 "decorators": [], 168 "loc": { 169 "start": { 170 "line": 1, 171 "column": 1 172 }, 173 "end": { 174 "line": 1, 175 "column": 1 176 } 177 } 178 }, 179 "kind": "method", 180 "accessibility": "public", 181 "static": true, 182 "optional": false, 183 "computed": false, 184 "value": { 185 "type": "FunctionExpression", 186 "function": { 187 "type": "ScriptFunction", 188 "id": { 189 "type": "Identifier", 190 "name": "_$init$_", 191 "decorators": [], 192 "loc": { 193 "start": { 194 "line": 1, 195 "column": 1 196 }, 197 "end": { 198 "line": 1, 199 "column": 1 200 } 201 } 202 }, 203 "generator": false, 204 "async": false, 205 "expression": false, 206 "params": [], 207 "body": { 208 "type": "BlockStatement", 209 "statements": [], 210 "loc": { 211 "start": { 212 "line": 1, 213 "column": 1 214 }, 215 "end": { 216 "line": 1, 217 "column": 1 218 } 219 } 220 }, 221 "loc": { 222 "start": { 223 "line": 1, 224 "column": 1 225 }, 226 "end": { 227 "line": 1, 228 "column": 1 229 } 230 } 231 }, 232 "loc": { 233 "start": { 234 "line": 1, 235 "column": 1 236 }, 237 "end": { 238 "line": 1, 239 "column": 1 240 } 241 } 242 }, 243 "overloads": [], 244 "decorators": [], 245 "loc": { 246 "start": { 247 "line": 1, 248 "column": 1 249 }, 250 "end": { 251 "line": 1, 252 "column": 1 253 } 254 } 255 }, 256 { 257 "type": "MethodDefinition", 258 "key": { 259 "type": "Identifier", 260 "name": "foo", 261 "decorators": [], 262 "loc": { 263 "start": { 264 "line": 16, 265 "column": 10 266 }, 267 "end": { 268 "line": 16, 269 "column": 13 270 } 271 } 272 }, 273 "kind": "method", 274 "accessibility": "public", 275 "static": true, 276 "optional": false, 277 "computed": false, 278 "value": { 279 "type": "FunctionExpression", 280 "function": { 281 "type": "ScriptFunction", 282 "id": { 283 "type": "Identifier", 284 "name": "foo", 285 "decorators": [], 286 "loc": { 287 "start": { 288 "line": 16, 289 "column": 10 290 }, 291 "end": { 292 "line": 16, 293 "column": 13 294 } 295 } 296 }, 297 "generator": false, 298 "async": false, 299 "expression": false, 300 "params": [ 301 { 302 "type": "ETSParameterExpression", 303 "name": { 304 "type": "Identifier", 305 "name": "data", 306 "typeAnnotation": { 307 "type": "ETSUnionType", 308 "types": [ 309 { 310 "type": "ETSTypeReference", 311 "part": { 312 "type": "ETSTypeReferencePart", 313 "name": { 314 "type": "Identifier", 315 "name": "C", 316 "decorators": [], 317 "loc": { 318 "start": { 319 "line": 17, 320 "column": 11 321 }, 322 "end": { 323 "line": 17, 324 "column": 12 325 } 326 } 327 }, 328 "loc": { 329 "start": { 330 "line": 17, 331 "column": 11 332 }, 333 "end": { 334 "line": 17, 335 "column": 14 336 } 337 } 338 }, 339 "loc": { 340 "start": { 341 "line": 17, 342 "column": 11 343 }, 344 "end": { 345 "line": 17, 346 "column": 14 347 } 348 } 349 }, 350 { 351 "type": "ETSUndefinedType", 352 "loc": { 353 "start": { 354 "line": 17, 355 "column": 15 356 }, 357 "end": { 358 "line": 17, 359 "column": 24 360 } 361 } 362 } 363 ], 364 "loc": { 365 "start": { 366 "line": 17, 367 "column": 11 368 }, 369 "end": { 370 "line": 17, 371 "column": 24 372 } 373 } 374 }, 375 "decorators": [], 376 "loc": { 377 "start": { 378 "line": 17, 379 "column": 5 380 }, 381 "end": { 382 "line": 17, 383 "column": 24 384 } 385 } 386 }, 387 "loc": { 388 "start": { 389 "line": 17, 390 "column": 5 391 }, 392 "end": { 393 "line": 17, 394 "column": 24 395 } 396 } 397 }, 398 { 399 "type": "ETSParameterExpression", 400 "name": { 401 "type": "Identifier", 402 "name": "exec", 403 "typeAnnotation": { 404 "type": "ETSFunctionType", 405 "params": [ 406 { 407 "type": "ETSParameterExpression", 408 "name": { 409 "type": "Identifier", 410 "name": "pointer", 411 "typeAnnotation": { 412 "type": "ETSUnionType", 413 "types": [ 414 { 415 "type": "ETSTypeReference", 416 "part": { 417 "type": "ETSTypeReferencePart", 418 "name": { 419 "type": "Identifier", 420 "name": "C", 421 "decorators": [], 422 "loc": { 423 "start": { 424 "line": 18, 425 "column": 21 426 }, 427 "end": { 428 "line": 18, 429 "column": 22 430 } 431 } 432 }, 433 "loc": { 434 "start": { 435 "line": 18, 436 "column": 21 437 }, 438 "end": { 439 "line": 18, 440 "column": 24 441 } 442 } 443 }, 444 "loc": { 445 "start": { 446 "line": 18, 447 "column": 21 448 }, 449 "end": { 450 "line": 18, 451 "column": 24 452 } 453 } 454 }, 455 { 456 "type": "ETSUndefinedType", 457 "loc": { 458 "start": { 459 "line": 18, 460 "column": 25 461 }, 462 "end": { 463 "line": 18, 464 "column": 34 465 } 466 } 467 } 468 ], 469 "loc": { 470 "start": { 471 "line": 18, 472 "column": 21 473 }, 474 "end": { 475 "line": 18, 476 "column": 34 477 } 478 } 479 }, 480 "decorators": [], 481 "loc": { 482 "start": { 483 "line": 18, 484 "column": 12 485 }, 486 "end": { 487 "line": 18, 488 "column": 34 489 } 490 } 491 }, 492 "loc": { 493 "start": { 494 "line": 18, 495 "column": 12 496 }, 497 "end": { 498 "line": 18, 499 "column": 34 500 } 501 } 502 } 503 ], 504 "returnType": { 505 "type": "ETSTypeReference", 506 "part": { 507 "type": "ETSTypeReferencePart", 508 "name": { 509 "type": "Identifier", 510 "name": "R", 511 "decorators": [], 512 "loc": { 513 "start": { 514 "line": 18, 515 "column": 39 516 }, 517 "end": { 518 "line": 18, 519 "column": 40 520 } 521 } 522 }, 523 "loc": { 524 "start": { 525 "line": 18, 526 "column": 39 527 }, 528 "end": { 529 "line": 19, 530 "column": 2 531 } 532 } 533 }, 534 "loc": { 535 "start": { 536 "line": 18, 537 "column": 39 538 }, 539 "end": { 540 "line": 19, 541 "column": 2 542 } 543 } 544 }, 545 "loc": { 546 "start": { 547 "line": 18, 548 "column": 11 549 }, 550 "end": { 551 "line": 19, 552 "column": 2 553 } 554 } 555 }, 556 "decorators": [], 557 "loc": { 558 "start": { 559 "line": 18, 560 "column": 5 561 }, 562 "end": { 563 "line": 19, 564 "column": 2 565 } 566 } 567 }, 568 "loc": { 569 "start": { 570 "line": 18, 571 "column": 5 572 }, 573 "end": { 574 "line": 19, 575 "column": 2 576 } 577 } 578 } 579 ], 580 "returnType": { 581 "type": "ETSTypeReference", 582 "part": { 583 "type": "ETSTypeReferencePart", 584 "name": { 585 "type": "Identifier", 586 "name": "R", 587 "decorators": [], 588 "loc": { 589 "start": { 590 "line": 19, 591 "column": 4 592 }, 593 "end": { 594 "line": 19, 595 "column": 5 596 } 597 } 598 }, 599 "loc": { 600 "start": { 601 "line": 19, 602 "column": 4 603 }, 604 "end": { 605 "line": 19, 606 "column": 7 607 } 608 } 609 }, 610 "loc": { 611 "start": { 612 "line": 19, 613 "column": 4 614 }, 615 "end": { 616 "line": 19, 617 "column": 7 618 } 619 } 620 }, 621 "typeParameters": { 622 "type": "TSTypeParameterDeclaration", 623 "params": [ 624 { 625 "type": "TSTypeParameter", 626 "name": { 627 "type": "Identifier", 628 "name": "C", 629 "decorators": [], 630 "loc": { 631 "start": { 632 "line": 16, 633 "column": 14 634 }, 635 "end": { 636 "line": 16, 637 "column": 15 638 } 639 } 640 }, 641 "constraint": { 642 "type": "ETSTypeReference", 643 "part": { 644 "type": "ETSTypeReferencePart", 645 "name": { 646 "type": "Identifier", 647 "name": "Uint8Array", 648 "decorators": [], 649 "loc": { 650 "start": { 651 "line": 16, 652 "column": 24 653 }, 654 "end": { 655 "line": 16, 656 "column": 34 657 } 658 } 659 }, 660 "loc": { 661 "start": { 662 "line": 16, 663 "column": 24 664 }, 665 "end": { 666 "line": 16, 667 "column": 35 668 } 669 } 670 }, 671 "loc": { 672 "start": { 673 "line": 16, 674 "column": 24 675 }, 676 "end": { 677 "line": 16, 678 "column": 35 679 } 680 } 681 }, 682 "loc": { 683 "start": { 684 "line": 16, 685 "column": 14 686 }, 687 "end": { 688 "line": 16, 689 "column": 35 690 } 691 } 692 }, 693 { 694 "type": "TSTypeParameter", 695 "name": { 696 "type": "Identifier", 697 "name": "R", 698 "decorators": [], 699 "loc": { 700 "start": { 701 "line": 16, 702 "column": 36 703 }, 704 "end": { 705 "line": 16, 706 "column": 37 707 } 708 } 709 }, 710 "loc": { 711 "start": { 712 "line": 16, 713 "column": 36 714 }, 715 "end": { 716 "line": 16, 717 "column": 38 718 } 719 } 720 } 721 ], 722 "loc": { 723 "start": { 724 "line": 16, 725 "column": 13 726 }, 727 "end": { 728 "line": 16, 729 "column": 38 730 } 731 } 732 }, 733 "body": { 734 "type": "BlockStatement", 735 "statements": [ 736 { 737 "type": "ReturnStatement", 738 "argument": { 739 "type": "CallExpression", 740 "callee": { 741 "type": "Identifier", 742 "name": "exec", 743 "decorators": [], 744 "loc": { 745 "start": { 746 "line": 20, 747 "column": 12 748 }, 749 "end": { 750 "line": 20, 751 "column": 16 752 } 753 } 754 }, 755 "arguments": [ 756 { 757 "type": "LogicalExpression", 758 "operator": "??", 759 "left": { 760 "type": "Identifier", 761 "name": "data", 762 "decorators": [], 763 "loc": { 764 "start": { 765 "line": 20, 766 "column": 17 767 }, 768 "end": { 769 "line": 20, 770 "column": 21 771 } 772 } 773 }, 774 "right": { 775 "type": "UndefinedLiteral", 776 "value": undefined, 777 "loc": { 778 "start": { 779 "line": 20, 780 "column": 25 781 }, 782 "end": { 783 "line": 20, 784 "column": 34 785 } 786 } 787 }, 788 "loc": { 789 "start": { 790 "line": 20, 791 "column": 17 792 }, 793 "end": { 794 "line": 20, 795 "column": 34 796 } 797 } 798 } 799 ], 800 "optional": false, 801 "loc": { 802 "start": { 803 "line": 20, 804 "column": 12 805 }, 806 "end": { 807 "line": 20, 808 "column": 35 809 } 810 } 811 }, 812 "loc": { 813 "start": { 814 "line": 20, 815 "column": 5 816 }, 817 "end": { 818 "line": 20, 819 "column": 36 820 } 821 } 822 } 823 ], 824 "loc": { 825 "start": { 826 "line": 19, 827 "column": 6 828 }, 829 "end": { 830 "line": 21, 831 "column": 2 832 } 833 } 834 }, 835 "loc": { 836 "start": { 837 "line": 16, 838 "column": 13 839 }, 840 "end": { 841 "line": 21, 842 "column": 2 843 } 844 } 845 }, 846 "loc": { 847 "start": { 848 "line": 16, 849 "column": 13 850 }, 851 "end": { 852 "line": 21, 853 "column": 2 854 } 855 } 856 }, 857 "overloads": [], 858 "decorators": [], 859 "loc": { 860 "start": { 861 "line": 16, 862 "column": 1 863 }, 864 "end": { 865 "line": 21, 866 "column": 2 867 } 868 } 869 }, 870 { 871 "type": "MethodDefinition", 872 "key": { 873 "type": "Identifier", 874 "name": "bar", 875 "decorators": [], 876 "loc": { 877 "start": { 878 "line": 24, 879 "column": 10 880 }, 881 "end": { 882 "line": 24, 883 "column": 13 884 } 885 } 886 }, 887 "kind": "method", 888 "accessibility": "public", 889 "static": true, 890 "optional": false, 891 "computed": false, 892 "value": { 893 "type": "FunctionExpression", 894 "function": { 895 "type": "ScriptFunction", 896 "id": { 897 "type": "Identifier", 898 "name": "bar", 899 "decorators": [], 900 "loc": { 901 "start": { 902 "line": 24, 903 "column": 10 904 }, 905 "end": { 906 "line": 24, 907 "column": 13 908 } 909 } 910 }, 911 "generator": false, 912 "async": false, 913 "expression": false, 914 "params": [ 915 { 916 "type": "ETSParameterExpression", 917 "name": { 918 "type": "Identifier", 919 "name": "data", 920 "typeAnnotation": { 921 "type": "ETSTypeReference", 922 "part": { 923 "type": "ETSTypeReferencePart", 924 "name": { 925 "type": "Identifier", 926 "name": "T", 927 "decorators": [], 928 "loc": { 929 "start": { 930 "line": 24, 931 "column": 35 932 }, 933 "end": { 934 "line": 24, 935 "column": 36 936 } 937 } 938 }, 939 "loc": { 940 "start": { 941 "line": 24, 942 "column": 35 943 }, 944 "end": { 945 "line": 24, 946 "column": 37 947 } 948 } 949 }, 950 "loc": { 951 "start": { 952 "line": 24, 953 "column": 35 954 }, 955 "end": { 956 "line": 24, 957 "column": 37 958 } 959 } 960 }, 961 "decorators": [], 962 "loc": { 963 "start": { 964 "line": 24, 965 "column": 29 966 }, 967 "end": { 968 "line": 24, 969 "column": 37 970 } 971 } 972 }, 973 "loc": { 974 "start": { 975 "line": 24, 976 "column": 29 977 }, 978 "end": { 979 "line": 24, 980 "column": 37 981 } 982 } 983 } 984 ], 985 "returnType": { 986 "type": "ETSPrimitiveType", 987 "loc": { 988 "start": { 989 "line": 24, 990 "column": 39 991 }, 992 "end": { 993 "line": 24, 994 "column": 43 995 } 996 } 997 }, 998 "typeParameters": { 999 "type": "TSTypeParameterDeclaration", 1000 "params": [ 1001 { 1002 "type": "TSTypeParameter", 1003 "name": { 1004 "type": "Identifier", 1005 "name": "T", 1006 "decorators": [], 1007 "loc": { 1008 "start": { 1009 "line": 24, 1010 "column": 14 1011 }, 1012 "end": { 1013 "line": 24, 1014 "column": 15 1015 } 1016 } 1017 }, 1018 "constraint": { 1019 "type": "ETSTypeReference", 1020 "part": { 1021 "type": "ETSTypeReferencePart", 1022 "name": { 1023 "type": "Identifier", 1024 "name": "Int", 1025 "decorators": [], 1026 "loc": { 1027 "start": { 1028 "line": 24, 1029 "column": 24 1030 }, 1031 "end": { 1032 "line": 24, 1033 "column": 27 1034 } 1035 } 1036 }, 1037 "loc": { 1038 "start": { 1039 "line": 24, 1040 "column": 24 1041 }, 1042 "end": { 1043 "line": 24, 1044 "column": 28 1045 } 1046 } 1047 }, 1048 "loc": { 1049 "start": { 1050 "line": 24, 1051 "column": 24 1052 }, 1053 "end": { 1054 "line": 24, 1055 "column": 28 1056 } 1057 } 1058 }, 1059 "loc": { 1060 "start": { 1061 "line": 24, 1062 "column": 14 1063 }, 1064 "end": { 1065 "line": 24, 1066 "column": 28 1067 } 1068 } 1069 } 1070 ], 1071 "loc": { 1072 "start": { 1073 "line": 24, 1074 "column": 13 1075 }, 1076 "end": { 1077 "line": 24, 1078 "column": 28 1079 } 1080 } 1081 }, 1082 "body": { 1083 "type": "BlockStatement", 1084 "statements": [ 1085 { 1086 "type": "VariableDeclaration", 1087 "declarations": [ 1088 { 1089 "type": "VariableDeclarator", 1090 "id": { 1091 "type": "Identifier", 1092 "name": "c_class", 1093 "typeAnnotation": { 1094 "type": "ETSTypeReference", 1095 "part": { 1096 "type": "ETSTypeReferencePart", 1097 "name": { 1098 "type": "Identifier", 1099 "name": "C", 1100 "decorators": [], 1101 "loc": { 1102 "start": { 1103 "line": 25, 1104 "column": 18 1105 }, 1106 "end": { 1107 "line": 25, 1108 "column": 19 1109 } 1110 } 1111 }, 1112 "loc": { 1113 "start": { 1114 "line": 25, 1115 "column": 18 1116 }, 1117 "end": { 1118 "line": 25, 1119 "column": 21 1120 } 1121 } 1122 }, 1123 "loc": { 1124 "start": { 1125 "line": 25, 1126 "column": 18 1127 }, 1128 "end": { 1129 "line": 25, 1130 "column": 21 1131 } 1132 } 1133 }, 1134 "decorators": [], 1135 "loc": { 1136 "start": { 1137 "line": 25, 1138 "column": 9 1139 }, 1140 "end": { 1141 "line": 25, 1142 "column": 16 1143 } 1144 } 1145 }, 1146 "init": { 1147 "type": "ETSNewClassInstanceExpression", 1148 "typeReference": { 1149 "type": "ETSTypeReference", 1150 "part": { 1151 "type": "ETSTypeReferencePart", 1152 "name": { 1153 "type": "Identifier", 1154 "name": "C", 1155 "decorators": [], 1156 "loc": { 1157 "start": { 1158 "line": 25, 1159 "column": 26 1160 }, 1161 "end": { 1162 "line": 25, 1163 "column": 27 1164 } 1165 } 1166 }, 1167 "loc": { 1168 "start": { 1169 "line": 25, 1170 "column": 26 1171 }, 1172 "end": { 1173 "line": 25, 1174 "column": 28 1175 } 1176 } 1177 }, 1178 "loc": { 1179 "start": { 1180 "line": 25, 1181 "column": 26 1182 }, 1183 "end": { 1184 "line": 25, 1185 "column": 28 1186 } 1187 } 1188 }, 1189 "arguments": [], 1190 "loc": { 1191 "start": { 1192 "line": 25, 1193 "column": 22 1194 }, 1195 "end": { 1196 "line": 25, 1197 "column": 30 1198 } 1199 } 1200 }, 1201 "loc": { 1202 "start": { 1203 "line": 25, 1204 "column": 9 1205 }, 1206 "end": { 1207 "line": 25, 1208 "column": 30 1209 } 1210 } 1211 } 1212 ], 1213 "kind": "let", 1214 "loc": { 1215 "start": { 1216 "line": 25, 1217 "column": 5 1218 }, 1219 "end": { 1220 "line": 25, 1221 "column": 30 1222 } 1223 } 1224 }, 1225 { 1226 "type": "VariableDeclaration", 1227 "declarations": [ 1228 { 1229 "type": "VariableDeclarator", 1230 "id": { 1231 "type": "Identifier", 1232 "name": "myvar", 1233 "typeAnnotation": { 1234 "type": "ETSTypeReference", 1235 "part": { 1236 "type": "ETSTypeReferencePart", 1237 "name": { 1238 "type": "Identifier", 1239 "name": "Object", 1240 "decorators": [], 1241 "loc": { 1242 "start": { 1243 "line": 26, 1244 "column": 16 1245 }, 1246 "end": { 1247 "line": 26, 1248 "column": 22 1249 } 1250 } 1251 }, 1252 "loc": { 1253 "start": { 1254 "line": 26, 1255 "column": 16 1256 }, 1257 "end": { 1258 "line": 26, 1259 "column": 24 1260 } 1261 } 1262 }, 1263 "loc": { 1264 "start": { 1265 "line": 26, 1266 "column": 16 1267 }, 1268 "end": { 1269 "line": 26, 1270 "column": 24 1271 } 1272 } 1273 }, 1274 "decorators": [], 1275 "loc": { 1276 "start": { 1277 "line": 26, 1278 "column": 9 1279 }, 1280 "end": { 1281 "line": 26, 1282 "column": 14 1283 } 1284 } 1285 }, 1286 "init": { 1287 "type": "LogicalExpression", 1288 "operator": "??", 1289 "left": { 1290 "type": "Identifier", 1291 "name": "data", 1292 "decorators": [], 1293 "loc": { 1294 "start": { 1295 "line": 26, 1296 "column": 25 1297 }, 1298 "end": { 1299 "line": 26, 1300 "column": 29 1301 } 1302 } 1303 }, 1304 "right": { 1305 "type": "Identifier", 1306 "name": "c_class", 1307 "decorators": [], 1308 "loc": { 1309 "start": { 1310 "line": 26, 1311 "column": 33 1312 }, 1313 "end": { 1314 "line": 26, 1315 "column": 40 1316 } 1317 } 1318 }, 1319 "loc": { 1320 "start": { 1321 "line": 26, 1322 "column": 25 1323 }, 1324 "end": { 1325 "line": 26, 1326 "column": 40 1327 } 1328 } 1329 }, 1330 "loc": { 1331 "start": { 1332 "line": 26, 1333 "column": 9 1334 }, 1335 "end": { 1336 "line": 26, 1337 "column": 40 1338 } 1339 } 1340 } 1341 ], 1342 "kind": "let", 1343 "loc": { 1344 "start": { 1345 "line": 26, 1346 "column": 5 1347 }, 1348 "end": { 1349 "line": 26, 1350 "column": 41 1351 } 1352 } 1353 } 1354 ], 1355 "loc": { 1356 "start": { 1357 "line": 24, 1358 "column": 44 1359 }, 1360 "end": { 1361 "line": 27, 1362 "column": 2 1363 } 1364 } 1365 }, 1366 "loc": { 1367 "start": { 1368 "line": 24, 1369 "column": 13 1370 }, 1371 "end": { 1372 "line": 27, 1373 "column": 2 1374 } 1375 } 1376 }, 1377 "loc": { 1378 "start": { 1379 "line": 24, 1380 "column": 13 1381 }, 1382 "end": { 1383 "line": 27, 1384 "column": 2 1385 } 1386 } 1387 }, 1388 "overloads": [], 1389 "decorators": [], 1390 "loc": { 1391 "start": { 1392 "line": 24, 1393 "column": 1 1394 }, 1395 "end": { 1396 "line": 27, 1397 "column": 2 1398 } 1399 } 1400 }, 1401 { 1402 "type": "MethodDefinition", 1403 "key": { 1404 "type": "Identifier", 1405 "name": "baz", 1406 "decorators": [], 1407 "loc": { 1408 "start": { 1409 "line": 29, 1410 "column": 10 1411 }, 1412 "end": { 1413 "line": 29, 1414 "column": 13 1415 } 1416 } 1417 }, 1418 "kind": "method", 1419 "accessibility": "public", 1420 "static": true, 1421 "optional": false, 1422 "computed": false, 1423 "value": { 1424 "type": "FunctionExpression", 1425 "function": { 1426 "type": "ScriptFunction", 1427 "id": { 1428 "type": "Identifier", 1429 "name": "baz", 1430 "decorators": [], 1431 "loc": { 1432 "start": { 1433 "line": 29, 1434 "column": 10 1435 }, 1436 "end": { 1437 "line": 29, 1438 "column": 13 1439 } 1440 } 1441 }, 1442 "generator": false, 1443 "async": false, 1444 "expression": false, 1445 "params": [ 1446 { 1447 "type": "ETSParameterExpression", 1448 "name": { 1449 "type": "Identifier", 1450 "name": "a0", 1451 "typeAnnotation": { 1452 "type": "ETSTypeReference", 1453 "part": { 1454 "type": "ETSTypeReferencePart", 1455 "name": { 1456 "type": "Identifier", 1457 "name": "T", 1458 "decorators": [], 1459 "loc": { 1460 "start": { 1461 "line": 29, 1462 "column": 33 1463 }, 1464 "end": { 1465 "line": 29, 1466 "column": 34 1467 } 1468 } 1469 }, 1470 "loc": { 1471 "start": { 1472 "line": 29, 1473 "column": 33 1474 }, 1475 "end": { 1476 "line": 29, 1477 "column": 35 1478 } 1479 } 1480 }, 1481 "loc": { 1482 "start": { 1483 "line": 29, 1484 "column": 33 1485 }, 1486 "end": { 1487 "line": 29, 1488 "column": 35 1489 } 1490 } 1491 }, 1492 "decorators": [], 1493 "loc": { 1494 "start": { 1495 "line": 29, 1496 "column": 29 1497 }, 1498 "end": { 1499 "line": 29, 1500 "column": 35 1501 } 1502 } 1503 }, 1504 "loc": { 1505 "start": { 1506 "line": 29, 1507 "column": 29 1508 }, 1509 "end": { 1510 "line": 29, 1511 "column": 35 1512 } 1513 } 1514 } 1515 ], 1516 "returnType": { 1517 "type": "ETSTypeReference", 1518 "part": { 1519 "type": "ETSTypeReferencePart", 1520 "name": { 1521 "type": "Identifier", 1522 "name": "Integral", 1523 "decorators": [], 1524 "loc": { 1525 "start": { 1526 "line": 29, 1527 "column": 37 1528 }, 1529 "end": { 1530 "line": 29, 1531 "column": 45 1532 } 1533 } 1534 }, 1535 "loc": { 1536 "start": { 1537 "line": 29, 1538 "column": 37 1539 }, 1540 "end": { 1541 "line": 29, 1542 "column": 47 1543 } 1544 } 1545 }, 1546 "loc": { 1547 "start": { 1548 "line": 29, 1549 "column": 37 1550 }, 1551 "end": { 1552 "line": 29, 1553 "column": 47 1554 } 1555 } 1556 }, 1557 "typeParameters": { 1558 "type": "TSTypeParameterDeclaration", 1559 "params": [ 1560 { 1561 "type": "TSTypeParameter", 1562 "name": { 1563 "type": "Identifier", 1564 "name": "T", 1565 "decorators": [], 1566 "loc": { 1567 "start": { 1568 "line": 29, 1569 "column": 14 1570 }, 1571 "end": { 1572 "line": 29, 1573 "column": 15 1574 } 1575 } 1576 }, 1577 "constraint": { 1578 "type": "ETSTypeReference", 1579 "part": { 1580 "type": "ETSTypeReferencePart", 1581 "name": { 1582 "type": "Identifier", 1583 "name": "Int", 1584 "decorators": [], 1585 "loc": { 1586 "start": { 1587 "line": 29, 1588 "column": 24 1589 }, 1590 "end": { 1591 "line": 29, 1592 "column": 27 1593 } 1594 } 1595 }, 1596 "loc": { 1597 "start": { 1598 "line": 29, 1599 "column": 24 1600 }, 1601 "end": { 1602 "line": 29, 1603 "column": 28 1604 } 1605 } 1606 }, 1607 "loc": { 1608 "start": { 1609 "line": 29, 1610 "column": 24 1611 }, 1612 "end": { 1613 "line": 29, 1614 "column": 28 1615 } 1616 } 1617 }, 1618 "loc": { 1619 "start": { 1620 "line": 29, 1621 "column": 14 1622 }, 1623 "end": { 1624 "line": 29, 1625 "column": 28 1626 } 1627 } 1628 } 1629 ], 1630 "loc": { 1631 "start": { 1632 "line": 29, 1633 "column": 13 1634 }, 1635 "end": { 1636 "line": 29, 1637 "column": 28 1638 } 1639 } 1640 }, 1641 "body": { 1642 "type": "BlockStatement", 1643 "statements": [ 1644 { 1645 "type": "VariableDeclaration", 1646 "declarations": [ 1647 { 1648 "type": "VariableDeclarator", 1649 "id": { 1650 "type": "Identifier", 1651 "name": "myval", 1652 "typeAnnotation": { 1653 "type": "ETSTypeReference", 1654 "part": { 1655 "type": "ETSTypeReferencePart", 1656 "name": { 1657 "type": "Identifier", 1658 "name": "Short", 1659 "decorators": [], 1660 "loc": { 1661 "start": { 1662 "line": 30, 1663 "column": 16 1664 }, 1665 "end": { 1666 "line": 30, 1667 "column": 21 1668 } 1669 } 1670 }, 1671 "loc": { 1672 "start": { 1673 "line": 30, 1674 "column": 16 1675 }, 1676 "end": { 1677 "line": 30, 1678 "column": 23 1679 } 1680 } 1681 }, 1682 "loc": { 1683 "start": { 1684 "line": 30, 1685 "column": 16 1686 }, 1687 "end": { 1688 "line": 30, 1689 "column": 23 1690 } 1691 } 1692 }, 1693 "decorators": [], 1694 "loc": { 1695 "start": { 1696 "line": 30, 1697 "column": 9 1698 }, 1699 "end": { 1700 "line": 30, 1701 "column": 14 1702 } 1703 } 1704 }, 1705 "init": { 1706 "type": "NumberLiteral", 1707 "value": 2, 1708 "loc": { 1709 "start": { 1710 "line": 30, 1711 "column": 24 1712 }, 1713 "end": { 1714 "line": 30, 1715 "column": 25 1716 } 1717 } 1718 }, 1719 "loc": { 1720 "start": { 1721 "line": 30, 1722 "column": 9 1723 }, 1724 "end": { 1725 "line": 30, 1726 "column": 25 1727 } 1728 } 1729 } 1730 ], 1731 "kind": "let", 1732 "loc": { 1733 "start": { 1734 "line": 30, 1735 "column": 5 1736 }, 1737 "end": { 1738 "line": 30, 1739 "column": 26 1740 } 1741 } 1742 }, 1743 { 1744 "type": "ReturnStatement", 1745 "argument": { 1746 "type": "LogicalExpression", 1747 "operator": "??", 1748 "left": { 1749 "type": "Identifier", 1750 "name": "a0", 1751 "decorators": [], 1752 "loc": { 1753 "start": { 1754 "line": 31, 1755 "column": 12 1756 }, 1757 "end": { 1758 "line": 31, 1759 "column": 14 1760 } 1761 } 1762 }, 1763 "right": { 1764 "type": "Identifier", 1765 "name": "myval", 1766 "decorators": [], 1767 "loc": { 1768 "start": { 1769 "line": 31, 1770 "column": 18 1771 }, 1772 "end": { 1773 "line": 31, 1774 "column": 23 1775 } 1776 } 1777 }, 1778 "loc": { 1779 "start": { 1780 "line": 31, 1781 "column": 12 1782 }, 1783 "end": { 1784 "line": 31, 1785 "column": 23 1786 } 1787 } 1788 }, 1789 "loc": { 1790 "start": { 1791 "line": 31, 1792 "column": 5 1793 }, 1794 "end": { 1795 "line": 31, 1796 "column": 24 1797 } 1798 } 1799 } 1800 ], 1801 "loc": { 1802 "start": { 1803 "line": 29, 1804 "column": 46 1805 }, 1806 "end": { 1807 "line": 32, 1808 "column": 2 1809 } 1810 } 1811 }, 1812 "loc": { 1813 "start": { 1814 "line": 29, 1815 "column": 13 1816 }, 1817 "end": { 1818 "line": 32, 1819 "column": 2 1820 } 1821 } 1822 }, 1823 "loc": { 1824 "start": { 1825 "line": 29, 1826 "column": 13 1827 }, 1828 "end": { 1829 "line": 32, 1830 "column": 2 1831 } 1832 } 1833 }, 1834 "overloads": [], 1835 "decorators": [], 1836 "loc": { 1837 "start": { 1838 "line": 29, 1839 "column": 1 1840 }, 1841 "end": { 1842 "line": 32, 1843 "column": 2 1844 } 1845 } 1846 } 1847 ], 1848 "loc": { 1849 "start": { 1850 "line": 1, 1851 "column": 1 1852 }, 1853 "end": { 1854 "line": 1, 1855 "column": 1 1856 } 1857 } 1858 }, 1859 "loc": { 1860 "start": { 1861 "line": 1, 1862 "column": 1 1863 }, 1864 "end": { 1865 "line": 1, 1866 "column": 1 1867 } 1868 } 1869 } 1870 ], 1871 "loc": { 1872 "start": { 1873 "line": 1, 1874 "column": 1 1875 }, 1876 "end": { 1877 "line": 33, 1878 "column": 1 1879 } 1880 } 1881} 1882