1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ImportDeclaration", 6 "source": { 7 "type": "StringLiteral", 8 "value": "dynamic_js_import_tests", 9 "loc": { 10 "start": { 11 "line": 20, 12 "column": 19 13 }, 14 "end": { 15 "line": 20, 16 "column": 44 17 } 18 } 19 }, 20 "specifiers": [ 21 { 22 "type": "ImportSpecifier", 23 "local": { 24 "type": "Identifier", 25 "name": "A", 26 "decorators": [], 27 "loc": { 28 "start": { 29 "line": 20, 30 "column": 10 31 }, 32 "end": { 33 "line": 20, 34 "column": 11 35 } 36 } 37 }, 38 "imported": { 39 "type": "Identifier", 40 "name": "A", 41 "decorators": [], 42 "loc": { 43 "start": { 44 "line": 20, 45 "column": 10 46 }, 47 "end": { 48 "line": 20, 49 "column": 11 50 } 51 } 52 }, 53 "loc": { 54 "start": { 55 "line": 20, 56 "column": 10 57 }, 58 "end": { 59 "line": 20, 60 "column": 11 61 } 62 } 63 } 64 ], 65 "loc": { 66 "start": { 67 "line": 20, 68 "column": 1 69 }, 70 "end": { 71 "line": 20, 72 "column": 44 73 } 74 } 75 }, 76 { 77 "type": "ClassDeclaration", 78 "definition": { 79 "id": { 80 "type": "Identifier", 81 "name": "ETSGLOBAL", 82 "decorators": [], 83 "loc": { 84 "start": { 85 "line": 1, 86 "column": 1 87 }, 88 "end": { 89 "line": 1, 90 "column": 1 91 } 92 } 93 }, 94 "superClass": null, 95 "implements": [], 96 "body": [ 97 { 98 "type": "MethodDefinition", 99 "key": { 100 "type": "Identifier", 101 "name": "_$init$_", 102 "decorators": [], 103 "loc": { 104 "start": { 105 "line": 1, 106 "column": 1 107 }, 108 "end": { 109 "line": 1, 110 "column": 1 111 } 112 } 113 }, 114 "kind": "method", 115 "accessibility": "public", 116 "static": true, 117 "optional": false, 118 "computed": false, 119 "value": { 120 "type": "FunctionExpression", 121 "function": { 122 "type": "ScriptFunction", 123 "id": { 124 "type": "Identifier", 125 "name": "_$init$_", 126 "decorators": [], 127 "loc": { 128 "start": { 129 "line": 1, 130 "column": 1 131 }, 132 "end": { 133 "line": 1, 134 "column": 1 135 } 136 } 137 }, 138 "generator": false, 139 "async": false, 140 "expression": false, 141 "params": [], 142 "body": { 143 "type": "BlockStatement", 144 "statements": [], 145 "loc": { 146 "start": { 147 "line": 1, 148 "column": 1 149 }, 150 "end": { 151 "line": 1, 152 "column": 1 153 } 154 } 155 }, 156 "loc": { 157 "start": { 158 "line": 1, 159 "column": 1 160 }, 161 "end": { 162 "line": 1, 163 "column": 1 164 } 165 } 166 }, 167 "loc": { 168 "start": { 169 "line": 1, 170 "column": 1 171 }, 172 "end": { 173 "line": 1, 174 "column": 1 175 } 176 } 177 }, 178 "overloads": [], 179 "decorators": [], 180 "loc": { 181 "start": { 182 "line": 1, 183 "column": 1 184 }, 185 "end": { 186 "line": 1, 187 "column": 1 188 } 189 } 190 }, 191 { 192 "type": "MethodDefinition", 193 "key": { 194 "type": "Identifier", 195 "name": "foo", 196 "decorators": [], 197 "loc": { 198 "start": { 199 "line": 22, 200 "column": 10 201 }, 202 "end": { 203 "line": 22, 204 "column": 13 205 } 206 } 207 }, 208 "kind": "method", 209 "accessibility": "public", 210 "static": true, 211 "optional": false, 212 "computed": false, 213 "value": { 214 "type": "FunctionExpression", 215 "function": { 216 "type": "ScriptFunction", 217 "id": { 218 "type": "Identifier", 219 "name": "foo", 220 "decorators": [], 221 "loc": { 222 "start": { 223 "line": 22, 224 "column": 10 225 }, 226 "end": { 227 "line": 22, 228 "column": 13 229 } 230 } 231 }, 232 "generator": false, 233 "async": false, 234 "expression": false, 235 "params": [], 236 "returnType": { 237 "type": "ETSPrimitiveType", 238 "loc": { 239 "start": { 240 "line": 22, 241 "column": 17 242 }, 243 "end": { 244 "line": 22, 245 "column": 20 246 } 247 } 248 }, 249 "body": { 250 "type": "BlockStatement", 251 "statements": [ 252 { 253 "type": "VariableDeclaration", 254 "declarations": [ 255 { 256 "type": "VariableDeclarator", 257 "id": { 258 "type": "Identifier", 259 "name": "a", 260 "decorators": [], 261 "loc": { 262 "start": { 263 "line": 23, 264 "column": 9 265 }, 266 "end": { 267 "line": 23, 268 "column": 10 269 } 270 } 271 }, 272 "init": { 273 "type": "ETSNewClassInstanceExpression", 274 "typeReference": { 275 "type": "ETSTypeReference", 276 "part": { 277 "type": "ETSTypeReferencePart", 278 "name": { 279 "type": "Identifier", 280 "name": "A", 281 "decorators": [], 282 "loc": { 283 "start": { 284 "line": 23, 285 "column": 17 286 }, 287 "end": { 288 "line": 23, 289 "column": 18 290 } 291 } 292 }, 293 "loc": { 294 "start": { 295 "line": 23, 296 "column": 17 297 }, 298 "end": { 299 "line": 23, 300 "column": 19 301 } 302 } 303 }, 304 "loc": { 305 "start": { 306 "line": 23, 307 "column": 17 308 }, 309 "end": { 310 "line": 23, 311 "column": 19 312 } 313 } 314 }, 315 "arguments": [], 316 "loc": { 317 "start": { 318 "line": 23, 319 "column": 13 320 }, 321 "end": { 322 "line": 23, 323 "column": 21 324 } 325 } 326 }, 327 "loc": { 328 "start": { 329 "line": 23, 330 "column": 9 331 }, 332 "end": { 333 "line": 23, 334 "column": 21 335 } 336 } 337 } 338 ], 339 "kind": "let", 340 "loc": { 341 "start": { 342 "line": 23, 343 "column": 5 344 }, 345 "end": { 346 "line": 23, 347 "column": 21 348 } 349 } 350 }, 351 { 352 "type": "ReturnStatement", 353 "argument": { 354 "type": "TSAsExpression", 355 "expression": { 356 "type": "CallExpression", 357 "callee": { 358 "type": "MemberExpression", 359 "object": { 360 "type": "MemberExpression", 361 "object": { 362 "type": "CallExpression", 363 "callee": { 364 "type": "MemberExpression", 365 "object": { 366 "type": "Identifier", 367 "name": "a", 368 "decorators": [], 369 "loc": { 370 "start": { 371 "line": 24, 372 "column": 12 373 }, 374 "end": { 375 "line": 24, 376 "column": 13 377 } 378 } 379 }, 380 "property": { 381 "type": "Identifier", 382 "name": "getB", 383 "decorators": [], 384 "loc": { 385 "start": { 386 "line": 24, 387 "column": 14 388 }, 389 "end": { 390 "line": 24, 391 "column": 18 392 } 393 } 394 }, 395 "computed": false, 396 "optional": false, 397 "loc": { 398 "start": { 399 "line": 24, 400 "column": 12 401 }, 402 "end": { 403 "line": 24, 404 "column": 18 405 } 406 } 407 }, 408 "arguments": [], 409 "optional": false, 410 "loc": { 411 "start": { 412 "line": 24, 413 "column": 12 414 }, 415 "end": { 416 "line": 24, 417 "column": 20 418 } 419 } 420 }, 421 "property": { 422 "type": "Identifier", 423 "name": "prop_var", 424 "decorators": [], 425 "loc": { 426 "start": { 427 "line": 24, 428 "column": 21 429 }, 430 "end": { 431 "line": 24, 432 "column": 29 433 } 434 } 435 }, 436 "computed": false, 437 "optional": false, 438 "loc": { 439 "start": { 440 "line": 24, 441 "column": 12 442 }, 443 "end": { 444 "line": 24, 445 "column": 29 446 } 447 } 448 }, 449 "property": { 450 "type": "Identifier", 451 "name": "foo", 452 "decorators": [], 453 "loc": { 454 "start": { 455 "line": 24, 456 "column": 30 457 }, 458 "end": { 459 "line": 24, 460 "column": 33 461 } 462 } 463 }, 464 "computed": false, 465 "optional": false, 466 "loc": { 467 "start": { 468 "line": 24, 469 "column": 12 470 }, 471 "end": { 472 "line": 24, 473 "column": 33 474 } 475 } 476 }, 477 "arguments": [ 478 { 479 "type": "NumberLiteral", 480 "value": 5, 481 "loc": { 482 "start": { 483 "line": 24, 484 "column": 34 485 }, 486 "end": { 487 "line": 24, 488 "column": 35 489 } 490 } 491 } 492 ], 493 "optional": false, 494 "loc": { 495 "start": { 496 "line": 24, 497 "column": 12 498 }, 499 "end": { 500 "line": 24, 501 "column": 36 502 } 503 } 504 }, 505 "typeAnnotation": { 506 "type": "ETSPrimitiveType", 507 "loc": { 508 "start": { 509 "line": 24, 510 "column": 40 511 }, 512 "end": { 513 "line": 24, 514 "column": 43 515 } 516 } 517 }, 518 "loc": { 519 "start": { 520 "line": 24, 521 "column": 12 522 }, 523 "end": { 524 "line": 24, 525 "column": 36 526 } 527 } 528 }, 529 "loc": { 530 "start": { 531 "line": 24, 532 "column": 5 533 }, 534 "end": { 535 "line": 24, 536 "column": 44 537 } 538 } 539 } 540 ], 541 "loc": { 542 "start": { 543 "line": 22, 544 "column": 21 545 }, 546 "end": { 547 "line": 25, 548 "column": 2 549 } 550 } 551 }, 552 "loc": { 553 "start": { 554 "line": 22, 555 "column": 13 556 }, 557 "end": { 558 "line": 25, 559 "column": 2 560 } 561 } 562 }, 563 "loc": { 564 "start": { 565 "line": 22, 566 "column": 13 567 }, 568 "end": { 569 "line": 25, 570 "column": 2 571 } 572 } 573 }, 574 "overloads": [], 575 "decorators": [], 576 "loc": { 577 "start": { 578 "line": 22, 579 "column": 1 580 }, 581 "end": { 582 "line": 25, 583 "column": 2 584 } 585 } 586 } 587 ], 588 "loc": { 589 "start": { 590 "line": 1, 591 "column": 1 592 }, 593 "end": { 594 "line": 1, 595 "column": 1 596 } 597 } 598 }, 599 "loc": { 600 "start": { 601 "line": 1, 602 "column": 1 603 }, 604 "end": { 605 "line": 1, 606 "column": 1 607 } 608 } 609 }, 610 { 611 "type": "ClassDeclaration", 612 "definition": { 613 "id": { 614 "type": "Identifier", 615 "name": "$jsnew", 616 "decorators": [], 617 "loc": { 618 "start": { 619 "line": 1, 620 "column": 1 621 }, 622 "end": { 623 "line": 1, 624 "column": 1 625 } 626 } 627 }, 628 "superClass": null, 629 "implements": [], 630 "body": [ 631 { 632 "type": "ClassProperty", 633 "key": { 634 "type": "Identifier", 635 "name": "qname_start_from", 636 "decorators": [], 637 "loc": { 638 "start": { 639 "line": 1, 640 "column": 1 641 }, 642 "end": { 643 "line": 1, 644 "column": 1 645 } 646 } 647 }, 648 "accessibility": "private", 649 "static": true, 650 "readonly": true, 651 "declare": false, 652 "optional": false, 653 "computed": false, 654 "typeAnnotation": { 655 "type": "ETSPrimitiveType", 656 "loc": { 657 "start": { 658 "line": 1, 659 "column": 1 660 }, 661 "end": { 662 "line": 1, 663 "column": 1 664 } 665 } 666 }, 667 "definite": false, 668 "decorators": [], 669 "loc": { 670 "start": { 671 "line": 1, 672 "column": 1 673 }, 674 "end": { 675 "line": 1, 676 "column": 1 677 } 678 } 679 }, 680 { 681 "type": "ClassStaticBlock", 682 "value": { 683 "type": "FunctionExpression", 684 "function": { 685 "type": "ScriptFunction", 686 "id": { 687 "type": "Identifier", 688 "name": "<cctor>", 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 "generator": false, 702 "async": false, 703 "expression": true, 704 "params": [], 705 "body": { 706 "type": "BlockStatement", 707 "statements": [ 708 { 709 "type": "ExpressionStatement", 710 "expression": { 711 "type": "CallExpression", 712 "callee": { 713 "type": "MemberExpression", 714 "object": { 715 "type": "Identifier", 716 "name": "JSRuntime", 717 "decorators": [], 718 "loc": { 719 "start": { 720 "line": 1, 721 "column": 1 722 }, 723 "end": { 724 "line": 1, 725 "column": 1 726 } 727 } 728 }, 729 "property": { 730 "type": "Identifier", 731 "name": "__initJSNewClass", 732 "decorators": [], 733 "loc": { 734 "start": { 735 "line": 1, 736 "column": 1 737 }, 738 "end": { 739 "line": 1, 740 "column": 1 741 } 742 } 743 }, 744 "computed": false, 745 "optional": false, 746 "loc": { 747 "start": { 748 "line": 1, 749 "column": 1 750 }, 751 "end": { 752 "line": 1, 753 "column": 1 754 } 755 } 756 }, 757 "arguments": [ 758 { 759 "type": "StringLiteral", 760 "value": "L$jsnew;", 761 "loc": { 762 "start": { 763 "line": 1, 764 "column": 1 765 }, 766 "end": { 767 "line": 1, 768 "column": 1 769 } 770 } 771 } 772 ], 773 "optional": false, 774 "loc": { 775 "start": { 776 "line": 1, 777 "column": 1 778 }, 779 "end": { 780 "line": 1, 781 "column": 1 782 } 783 } 784 }, 785 "loc": { 786 "start": { 787 "line": 1, 788 "column": 1 789 }, 790 "end": { 791 "line": 1, 792 "column": 1 793 } 794 } 795 } 796 ], 797 "loc": { 798 "start": { 799 "line": 1, 800 "column": 1 801 }, 802 "end": { 803 "line": 1, 804 "column": 1 805 } 806 } 807 }, 808 "loc": { 809 "start": { 810 "line": 1, 811 "column": 1 812 }, 813 "end": { 814 "line": 1, 815 "column": 1 816 } 817 } 818 }, 819 "loc": { 820 "start": { 821 "line": 1, 822 "column": 1 823 }, 824 "end": { 825 "line": 1, 826 "column": 1 827 } 828 } 829 }, 830 "loc": { 831 "start": { 832 "line": 1, 833 "column": 1 834 }, 835 "end": { 836 "line": 1, 837 "column": 1 838 } 839 } 840 }, 841 { 842 "type": "MethodDefinition", 843 "key": { 844 "type": "Identifier", 845 "name": "invoke", 846 "decorators": [], 847 "loc": { 848 "start": { 849 "line": 1, 850 "column": 1 851 }, 852 "end": { 853 "line": 1, 854 "column": 1 855 } 856 } 857 }, 858 "kind": "method", 859 "accessibility": "public", 860 "static": true, 861 "optional": false, 862 "computed": false, 863 "value": { 864 "type": "FunctionExpression", 865 "function": { 866 "type": "ScriptFunction", 867 "id": { 868 "type": "Identifier", 869 "name": "invoke", 870 "decorators": [], 871 "loc": { 872 "start": { 873 "line": 1, 874 "column": 1 875 }, 876 "end": { 877 "line": 1, 878 "column": 1 879 } 880 } 881 }, 882 "generator": false, 883 "async": false, 884 "expression": false, 885 "params": [ 886 { 887 "type": "ETSParameterExpression", 888 "name": { 889 "type": "Identifier", 890 "name": "obj", 891 "typeAnnotation": { 892 "type": "OpaqueType", 893 "loc": { 894 "start": { 895 "line": 1, 896 "column": 1 897 }, 898 "end": { 899 "line": 1, 900 "column": 1 901 } 902 } 903 }, 904 "decorators": [], 905 "loc": { 906 "start": { 907 "line": 1, 908 "column": 1 909 }, 910 "end": { 911 "line": 1, 912 "column": 1 913 } 914 } 915 }, 916 "loc": { 917 "start": { 918 "line": 1, 919 "column": 1 920 }, 921 "end": { 922 "line": 1, 923 "column": 1 924 } 925 } 926 }, 927 { 928 "type": "ETSParameterExpression", 929 "name": { 930 "type": "Identifier", 931 "name": "qname_start", 932 "typeAnnotation": { 933 "type": "ETSPrimitiveType", 934 "loc": { 935 "start": { 936 "line": 1, 937 "column": 1 938 }, 939 "end": { 940 "line": 1, 941 "column": 1 942 } 943 } 944 }, 945 "decorators": [], 946 "loc": { 947 "start": { 948 "line": 1, 949 "column": 1 950 }, 951 "end": { 952 "line": 1, 953 "column": 1 954 } 955 } 956 }, 957 "loc": { 958 "start": { 959 "line": 1, 960 "column": 1 961 }, 962 "end": { 963 "line": 1, 964 "column": 1 965 } 966 } 967 }, 968 { 969 "type": "ETSParameterExpression", 970 "name": { 971 "type": "Identifier", 972 "name": "qname_len", 973 "typeAnnotation": { 974 "type": "ETSPrimitiveType", 975 "loc": { 976 "start": { 977 "line": 1, 978 "column": 1 979 }, 980 "end": { 981 "line": 1, 982 "column": 1 983 } 984 } 985 }, 986 "decorators": [], 987 "loc": { 988 "start": { 989 "line": 1, 990 "column": 1 991 }, 992 "end": { 993 "line": 1, 994 "column": 1 995 } 996 } 997 }, 998 "loc": { 999 "start": { 1000 "line": 1, 1001 "column": 1 1002 }, 1003 "end": { 1004 "line": 1, 1005 "column": 1 1006 } 1007 } 1008 } 1009 ], 1010 "returnType": { 1011 "type": "OpaqueType", 1012 "loc": { 1013 "start": { 1014 "line": 1, 1015 "column": 1 1016 }, 1017 "end": { 1018 "line": 1, 1019 "column": 1 1020 } 1021 } 1022 }, 1023 "loc": { 1024 "start": { 1025 "line": 1, 1026 "column": 1 1027 }, 1028 "end": { 1029 "line": 1, 1030 "column": 1 1031 } 1032 } 1033 }, 1034 "loc": { 1035 "start": { 1036 "line": 1, 1037 "column": 1 1038 }, 1039 "end": { 1040 "line": 1, 1041 "column": 1 1042 } 1043 } 1044 }, 1045 "overloads": [], 1046 "decorators": [], 1047 "loc": { 1048 "start": { 1049 "line": 1, 1050 "column": 1 1051 }, 1052 "end": { 1053 "line": 1, 1054 "column": 1 1055 } 1056 } 1057 } 1058 ], 1059 "loc": { 1060 "start": { 1061 "line": 1, 1062 "column": 1 1063 }, 1064 "end": { 1065 "line": 1, 1066 "column": 1 1067 } 1068 } 1069 }, 1070 "loc": { 1071 "start": { 1072 "line": 1, 1073 "column": 1 1074 }, 1075 "end": { 1076 "line": 1, 1077 "column": 1 1078 } 1079 } 1080 }, 1081 { 1082 "type": "ClassDeclaration", 1083 "definition": { 1084 "id": { 1085 "type": "Identifier", 1086 "name": "$jscall", 1087 "decorators": [], 1088 "loc": { 1089 "start": { 1090 "line": 1, 1091 "column": 1 1092 }, 1093 "end": { 1094 "line": 1, 1095 "column": 1 1096 } 1097 } 1098 }, 1099 "superClass": null, 1100 "implements": [], 1101 "body": [ 1102 { 1103 "type": "ClassProperty", 1104 "key": { 1105 "type": "Identifier", 1106 "name": "qname_start_from", 1107 "decorators": [], 1108 "loc": { 1109 "start": { 1110 "line": 1, 1111 "column": 1 1112 }, 1113 "end": { 1114 "line": 1, 1115 "column": 1 1116 } 1117 } 1118 }, 1119 "accessibility": "private", 1120 "static": true, 1121 "readonly": true, 1122 "declare": false, 1123 "optional": false, 1124 "computed": false, 1125 "typeAnnotation": { 1126 "type": "ETSPrimitiveType", 1127 "loc": { 1128 "start": { 1129 "line": 1, 1130 "column": 1 1131 }, 1132 "end": { 1133 "line": 1, 1134 "column": 1 1135 } 1136 } 1137 }, 1138 "definite": false, 1139 "decorators": [], 1140 "loc": { 1141 "start": { 1142 "line": 1, 1143 "column": 1 1144 }, 1145 "end": { 1146 "line": 1, 1147 "column": 1 1148 } 1149 } 1150 }, 1151 { 1152 "type": "ClassStaticBlock", 1153 "value": { 1154 "type": "FunctionExpression", 1155 "function": { 1156 "type": "ScriptFunction", 1157 "id": { 1158 "type": "Identifier", 1159 "name": "<cctor>", 1160 "decorators": [], 1161 "loc": { 1162 "start": { 1163 "line": 1, 1164 "column": 1 1165 }, 1166 "end": { 1167 "line": 1, 1168 "column": 1 1169 } 1170 } 1171 }, 1172 "generator": false, 1173 "async": false, 1174 "expression": true, 1175 "params": [], 1176 "body": { 1177 "type": "BlockStatement", 1178 "statements": [ 1179 { 1180 "type": "ExpressionStatement", 1181 "expression": { 1182 "type": "CallExpression", 1183 "callee": { 1184 "type": "MemberExpression", 1185 "object": { 1186 "type": "Identifier", 1187 "name": "JSRuntime", 1188 "decorators": [], 1189 "loc": { 1190 "start": { 1191 "line": 1, 1192 "column": 1 1193 }, 1194 "end": { 1195 "line": 1, 1196 "column": 1 1197 } 1198 } 1199 }, 1200 "property": { 1201 "type": "Identifier", 1202 "name": "__initJSCallClass", 1203 "decorators": [], 1204 "loc": { 1205 "start": { 1206 "line": 1, 1207 "column": 1 1208 }, 1209 "end": { 1210 "line": 1, 1211 "column": 1 1212 } 1213 } 1214 }, 1215 "computed": false, 1216 "optional": false, 1217 "loc": { 1218 "start": { 1219 "line": 1, 1220 "column": 1 1221 }, 1222 "end": { 1223 "line": 1, 1224 "column": 1 1225 } 1226 } 1227 }, 1228 "arguments": [ 1229 { 1230 "type": "StringLiteral", 1231 "value": "L$jscall;", 1232 "loc": { 1233 "start": { 1234 "line": 1, 1235 "column": 1 1236 }, 1237 "end": { 1238 "line": 1, 1239 "column": 1 1240 } 1241 } 1242 } 1243 ], 1244 "optional": false, 1245 "loc": { 1246 "start": { 1247 "line": 1, 1248 "column": 1 1249 }, 1250 "end": { 1251 "line": 1, 1252 "column": 1 1253 } 1254 } 1255 }, 1256 "loc": { 1257 "start": { 1258 "line": 1, 1259 "column": 1 1260 }, 1261 "end": { 1262 "line": 1, 1263 "column": 1 1264 } 1265 } 1266 } 1267 ], 1268 "loc": { 1269 "start": { 1270 "line": 1, 1271 "column": 1 1272 }, 1273 "end": { 1274 "line": 1, 1275 "column": 1 1276 } 1277 } 1278 }, 1279 "loc": { 1280 "start": { 1281 "line": 1, 1282 "column": 1 1283 }, 1284 "end": { 1285 "line": 1, 1286 "column": 1 1287 } 1288 } 1289 }, 1290 "loc": { 1291 "start": { 1292 "line": 1, 1293 "column": 1 1294 }, 1295 "end": { 1296 "line": 1, 1297 "column": 1 1298 } 1299 } 1300 }, 1301 "loc": { 1302 "start": { 1303 "line": 1, 1304 "column": 1 1305 }, 1306 "end": { 1307 "line": 1, 1308 "column": 1 1309 } 1310 } 1311 }, 1312 { 1313 "type": "MethodDefinition", 1314 "key": { 1315 "type": "Identifier", 1316 "name": "invoke", 1317 "decorators": [], 1318 "loc": { 1319 "start": { 1320 "line": 1, 1321 "column": 1 1322 }, 1323 "end": { 1324 "line": 1, 1325 "column": 1 1326 } 1327 } 1328 }, 1329 "kind": "method", 1330 "accessibility": "public", 1331 "static": true, 1332 "optional": false, 1333 "computed": false, 1334 "value": { 1335 "type": "FunctionExpression", 1336 "function": { 1337 "type": "ScriptFunction", 1338 "id": { 1339 "type": "Identifier", 1340 "name": "invoke", 1341 "decorators": [], 1342 "loc": { 1343 "start": { 1344 "line": 1, 1345 "column": 1 1346 }, 1347 "end": { 1348 "line": 1, 1349 "column": 1 1350 } 1351 } 1352 }, 1353 "generator": false, 1354 "async": false, 1355 "expression": false, 1356 "params": [ 1357 { 1358 "type": "ETSParameterExpression", 1359 "name": { 1360 "type": "Identifier", 1361 "name": "obj", 1362 "typeAnnotation": { 1363 "type": "OpaqueType", 1364 "loc": { 1365 "start": { 1366 "line": 1, 1367 "column": 1 1368 }, 1369 "end": { 1370 "line": 1, 1371 "column": 1 1372 } 1373 } 1374 }, 1375 "decorators": [], 1376 "loc": { 1377 "start": { 1378 "line": 1, 1379 "column": 1 1380 }, 1381 "end": { 1382 "line": 1, 1383 "column": 1 1384 } 1385 } 1386 }, 1387 "loc": { 1388 "start": { 1389 "line": 1, 1390 "column": 1 1391 }, 1392 "end": { 1393 "line": 1, 1394 "column": 1 1395 } 1396 } 1397 }, 1398 { 1399 "type": "ETSParameterExpression", 1400 "name": { 1401 "type": "Identifier", 1402 "name": "qname_start", 1403 "typeAnnotation": { 1404 "type": "ETSPrimitiveType", 1405 "loc": { 1406 "start": { 1407 "line": 1, 1408 "column": 1 1409 }, 1410 "end": { 1411 "line": 1, 1412 "column": 1 1413 } 1414 } 1415 }, 1416 "decorators": [], 1417 "loc": { 1418 "start": { 1419 "line": 1, 1420 "column": 1 1421 }, 1422 "end": { 1423 "line": 1, 1424 "column": 1 1425 } 1426 } 1427 }, 1428 "loc": { 1429 "start": { 1430 "line": 1, 1431 "column": 1 1432 }, 1433 "end": { 1434 "line": 1, 1435 "column": 1 1436 } 1437 } 1438 }, 1439 { 1440 "type": "ETSParameterExpression", 1441 "name": { 1442 "type": "Identifier", 1443 "name": "qname_len", 1444 "typeAnnotation": { 1445 "type": "ETSPrimitiveType", 1446 "loc": { 1447 "start": { 1448 "line": 1, 1449 "column": 1 1450 }, 1451 "end": { 1452 "line": 1, 1453 "column": 1 1454 } 1455 } 1456 }, 1457 "decorators": [], 1458 "loc": { 1459 "start": { 1460 "line": 1, 1461 "column": 1 1462 }, 1463 "end": { 1464 "line": 1, 1465 "column": 1 1466 } 1467 } 1468 }, 1469 "loc": { 1470 "start": { 1471 "line": 1, 1472 "column": 1 1473 }, 1474 "end": { 1475 "line": 1, 1476 "column": 1 1477 } 1478 } 1479 } 1480 ], 1481 "returnType": { 1482 "type": "OpaqueType", 1483 "loc": { 1484 "start": { 1485 "line": 1, 1486 "column": 1 1487 }, 1488 "end": { 1489 "line": 1, 1490 "column": 1 1491 } 1492 } 1493 }, 1494 "loc": { 1495 "start": { 1496 "line": 1, 1497 "column": 1 1498 }, 1499 "end": { 1500 "line": 1, 1501 "column": 1 1502 } 1503 } 1504 }, 1505 "loc": { 1506 "start": { 1507 "line": 1, 1508 "column": 1 1509 }, 1510 "end": { 1511 "line": 1, 1512 "column": 1 1513 } 1514 } 1515 }, 1516 "overloads": [ 1517 { 1518 "type": "MethodDefinition", 1519 "key": { 1520 "type": "Identifier", 1521 "name": "invoke", 1522 "decorators": [], 1523 "loc": { 1524 "start": { 1525 "line": 1, 1526 "column": 1 1527 }, 1528 "end": { 1529 "line": 1, 1530 "column": 1 1531 } 1532 } 1533 }, 1534 "kind": "method", 1535 "accessibility": "public", 1536 "static": true, 1537 "optional": false, 1538 "computed": false, 1539 "value": { 1540 "type": "FunctionExpression", 1541 "function": { 1542 "type": "ScriptFunction", 1543 "id": { 1544 "type": "Identifier", 1545 "name": "invoke", 1546 "decorators": [], 1547 "loc": { 1548 "start": { 1549 "line": 1, 1550 "column": 1 1551 }, 1552 "end": { 1553 "line": 1, 1554 "column": 1 1555 } 1556 } 1557 }, 1558 "generator": false, 1559 "async": false, 1560 "expression": false, 1561 "params": [ 1562 { 1563 "type": "ETSParameterExpression", 1564 "name": { 1565 "type": "Identifier", 1566 "name": "obj", 1567 "typeAnnotation": { 1568 "type": "OpaqueType", 1569 "loc": { 1570 "start": { 1571 "line": 1, 1572 "column": 1 1573 }, 1574 "end": { 1575 "line": 1, 1576 "column": 1 1577 } 1578 } 1579 }, 1580 "decorators": [], 1581 "loc": { 1582 "start": { 1583 "line": 1, 1584 "column": 1 1585 }, 1586 "end": { 1587 "line": 1, 1588 "column": 1 1589 } 1590 } 1591 }, 1592 "loc": { 1593 "start": { 1594 "line": 1, 1595 "column": 1 1596 }, 1597 "end": { 1598 "line": 1, 1599 "column": 1 1600 } 1601 } 1602 }, 1603 { 1604 "type": "ETSParameterExpression", 1605 "name": { 1606 "type": "Identifier", 1607 "name": "qname_start", 1608 "typeAnnotation": { 1609 "type": "ETSPrimitiveType", 1610 "loc": { 1611 "start": { 1612 "line": 1, 1613 "column": 1 1614 }, 1615 "end": { 1616 "line": 1, 1617 "column": 1 1618 } 1619 } 1620 }, 1621 "decorators": [], 1622 "loc": { 1623 "start": { 1624 "line": 1, 1625 "column": 1 1626 }, 1627 "end": { 1628 "line": 1, 1629 "column": 1 1630 } 1631 } 1632 }, 1633 "loc": { 1634 "start": { 1635 "line": 1, 1636 "column": 1 1637 }, 1638 "end": { 1639 "line": 1, 1640 "column": 1 1641 } 1642 } 1643 }, 1644 { 1645 "type": "ETSParameterExpression", 1646 "name": { 1647 "type": "Identifier", 1648 "name": "qname_len", 1649 "typeAnnotation": { 1650 "type": "ETSPrimitiveType", 1651 "loc": { 1652 "start": { 1653 "line": 1, 1654 "column": 1 1655 }, 1656 "end": { 1657 "line": 1, 1658 "column": 1 1659 } 1660 } 1661 }, 1662 "decorators": [], 1663 "loc": { 1664 "start": { 1665 "line": 1, 1666 "column": 1 1667 }, 1668 "end": { 1669 "line": 1, 1670 "column": 1 1671 } 1672 } 1673 }, 1674 "loc": { 1675 "start": { 1676 "line": 1, 1677 "column": 1 1678 }, 1679 "end": { 1680 "line": 1, 1681 "column": 1 1682 } 1683 } 1684 }, 1685 { 1686 "type": "ETSParameterExpression", 1687 "name": { 1688 "type": "Identifier", 1689 "name": "p0", 1690 "typeAnnotation": { 1691 "type": "OpaqueType", 1692 "loc": { 1693 "start": { 1694 "line": 1, 1695 "column": 1 1696 }, 1697 "end": { 1698 "line": 1, 1699 "column": 1 1700 } 1701 } 1702 }, 1703 "decorators": [], 1704 "loc": { 1705 "start": { 1706 "line": 1, 1707 "column": 1 1708 }, 1709 "end": { 1710 "line": 1, 1711 "column": 1 1712 } 1713 } 1714 }, 1715 "loc": { 1716 "start": { 1717 "line": 1, 1718 "column": 1 1719 }, 1720 "end": { 1721 "line": 1, 1722 "column": 1 1723 } 1724 } 1725 } 1726 ], 1727 "returnType": { 1728 "type": "OpaqueType", 1729 "loc": { 1730 "start": { 1731 "line": 1, 1732 "column": 1 1733 }, 1734 "end": { 1735 "line": 1, 1736 "column": 1 1737 } 1738 } 1739 }, 1740 "loc": { 1741 "start": { 1742 "line": 1, 1743 "column": 1 1744 }, 1745 "end": { 1746 "line": 1, 1747 "column": 1 1748 } 1749 } 1750 }, 1751 "loc": { 1752 "start": { 1753 "line": 1, 1754 "column": 1 1755 }, 1756 "end": { 1757 "line": 1, 1758 "column": 1 1759 } 1760 } 1761 }, 1762 "overloads": [], 1763 "decorators": [], 1764 "loc": { 1765 "start": { 1766 "line": 1, 1767 "column": 1 1768 }, 1769 "end": { 1770 "line": 1, 1771 "column": 1 1772 } 1773 } 1774 } 1775 ], 1776 "decorators": [], 1777 "loc": { 1778 "start": { 1779 "line": 1, 1780 "column": 1 1781 }, 1782 "end": { 1783 "line": 1, 1784 "column": 1 1785 } 1786 } 1787 }, 1788 { 1789 "type": "MethodDefinition", 1790 "key": { 1791 "type": "Identifier", 1792 "name": "invoke", 1793 "decorators": [], 1794 "loc": { 1795 "start": { 1796 "line": 1, 1797 "column": 1 1798 }, 1799 "end": { 1800 "line": 1, 1801 "column": 1 1802 } 1803 } 1804 }, 1805 "kind": "method", 1806 "accessibility": "public", 1807 "static": true, 1808 "optional": false, 1809 "computed": false, 1810 "value": { 1811 "type": "FunctionExpression", 1812 "function": { 1813 "type": "ScriptFunction", 1814 "id": { 1815 "type": "Identifier", 1816 "name": "invoke", 1817 "decorators": [], 1818 "loc": { 1819 "start": { 1820 "line": 1, 1821 "column": 1 1822 }, 1823 "end": { 1824 "line": 1, 1825 "column": 1 1826 } 1827 } 1828 }, 1829 "generator": false, 1830 "async": false, 1831 "expression": false, 1832 "params": [ 1833 { 1834 "type": "ETSParameterExpression", 1835 "name": { 1836 "type": "Identifier", 1837 "name": "obj", 1838 "typeAnnotation": { 1839 "type": "OpaqueType", 1840 "loc": { 1841 "start": { 1842 "line": 1, 1843 "column": 1 1844 }, 1845 "end": { 1846 "line": 1, 1847 "column": 1 1848 } 1849 } 1850 }, 1851 "decorators": [], 1852 "loc": { 1853 "start": { 1854 "line": 1, 1855 "column": 1 1856 }, 1857 "end": { 1858 "line": 1, 1859 "column": 1 1860 } 1861 } 1862 }, 1863 "loc": { 1864 "start": { 1865 "line": 1, 1866 "column": 1 1867 }, 1868 "end": { 1869 "line": 1, 1870 "column": 1 1871 } 1872 } 1873 }, 1874 { 1875 "type": "ETSParameterExpression", 1876 "name": { 1877 "type": "Identifier", 1878 "name": "qname_start", 1879 "typeAnnotation": { 1880 "type": "ETSPrimitiveType", 1881 "loc": { 1882 "start": { 1883 "line": 1, 1884 "column": 1 1885 }, 1886 "end": { 1887 "line": 1, 1888 "column": 1 1889 } 1890 } 1891 }, 1892 "decorators": [], 1893 "loc": { 1894 "start": { 1895 "line": 1, 1896 "column": 1 1897 }, 1898 "end": { 1899 "line": 1, 1900 "column": 1 1901 } 1902 } 1903 }, 1904 "loc": { 1905 "start": { 1906 "line": 1, 1907 "column": 1 1908 }, 1909 "end": { 1910 "line": 1, 1911 "column": 1 1912 } 1913 } 1914 }, 1915 { 1916 "type": "ETSParameterExpression", 1917 "name": { 1918 "type": "Identifier", 1919 "name": "qname_len", 1920 "typeAnnotation": { 1921 "type": "ETSPrimitiveType", 1922 "loc": { 1923 "start": { 1924 "line": 1, 1925 "column": 1 1926 }, 1927 "end": { 1928 "line": 1, 1929 "column": 1 1930 } 1931 } 1932 }, 1933 "decorators": [], 1934 "loc": { 1935 "start": { 1936 "line": 1, 1937 "column": 1 1938 }, 1939 "end": { 1940 "line": 1, 1941 "column": 1 1942 } 1943 } 1944 }, 1945 "loc": { 1946 "start": { 1947 "line": 1, 1948 "column": 1 1949 }, 1950 "end": { 1951 "line": 1, 1952 "column": 1 1953 } 1954 } 1955 }, 1956 { 1957 "type": "ETSParameterExpression", 1958 "name": { 1959 "type": "Identifier", 1960 "name": "p0", 1961 "typeAnnotation": { 1962 "type": "OpaqueType", 1963 "loc": { 1964 "start": { 1965 "line": 1, 1966 "column": 1 1967 }, 1968 "end": { 1969 "line": 1, 1970 "column": 1 1971 } 1972 } 1973 }, 1974 "decorators": [], 1975 "loc": { 1976 "start": { 1977 "line": 1, 1978 "column": 1 1979 }, 1980 "end": { 1981 "line": 1, 1982 "column": 1 1983 } 1984 } 1985 }, 1986 "loc": { 1987 "start": { 1988 "line": 1, 1989 "column": 1 1990 }, 1991 "end": { 1992 "line": 1, 1993 "column": 1 1994 } 1995 } 1996 } 1997 ], 1998 "returnType": { 1999 "type": "OpaqueType", 2000 "loc": { 2001 "start": { 2002 "line": 1, 2003 "column": 1 2004 }, 2005 "end": { 2006 "line": 1, 2007 "column": 1 2008 } 2009 } 2010 }, 2011 "loc": { 2012 "start": { 2013 "line": 1, 2014 "column": 1 2015 }, 2016 "end": { 2017 "line": 1, 2018 "column": 1 2019 } 2020 } 2021 }, 2022 "loc": { 2023 "start": { 2024 "line": 1, 2025 "column": 1 2026 }, 2027 "end": { 2028 "line": 1, 2029 "column": 1 2030 } 2031 } 2032 }, 2033 "overloads": [], 2034 "decorators": [], 2035 "loc": { 2036 "start": { 2037 "line": 1, 2038 "column": 1 2039 }, 2040 "end": { 2041 "line": 1, 2042 "column": 1 2043 } 2044 } 2045 } 2046 ], 2047 "loc": { 2048 "start": { 2049 "line": 1, 2050 "column": 1 2051 }, 2052 "end": { 2053 "line": 1, 2054 "column": 1 2055 } 2056 } 2057 }, 2058 "loc": { 2059 "start": { 2060 "line": 1, 2061 "column": 1 2062 }, 2063 "end": { 2064 "line": 1, 2065 "column": 1 2066 } 2067 } 2068 }, 2069 { 2070 "type": "ClassDeclaration", 2071 "definition": { 2072 "id": { 2073 "type": "Identifier", 2074 "name": "$dynmodule", 2075 "decorators": [], 2076 "loc": { 2077 "start": { 2078 "line": 1, 2079 "column": 1 2080 }, 2081 "end": { 2082 "line": 1, 2083 "column": 1 2084 } 2085 } 2086 }, 2087 "superClass": null, 2088 "implements": [], 2089 "body": [ 2090 { 2091 "type": "ClassProperty", 2092 "key": { 2093 "type": "Identifier", 2094 "name": "dynamic_js_import_tests0", 2095 "decorators": [], 2096 "loc": { 2097 "start": { 2098 "line": 1, 2099 "column": 1 2100 }, 2101 "end": { 2102 "line": 1, 2103 "column": 1 2104 } 2105 } 2106 }, 2107 "accessibility": "public", 2108 "static": true, 2109 "readonly": true, 2110 "declare": false, 2111 "optional": false, 2112 "computed": false, 2113 "typeAnnotation": { 2114 "type": "OpaqueType", 2115 "loc": { 2116 "start": { 2117 "line": 1, 2118 "column": 1 2119 }, 2120 "end": { 2121 "line": 1, 2122 "column": 1 2123 } 2124 } 2125 }, 2126 "definite": false, 2127 "decorators": [], 2128 "loc": { 2129 "start": { 2130 "line": 1, 2131 "column": 1 2132 }, 2133 "end": { 2134 "line": 1, 2135 "column": 1 2136 } 2137 } 2138 }, 2139 { 2140 "type": "ClassStaticBlock", 2141 "value": { 2142 "type": "FunctionExpression", 2143 "function": { 2144 "type": "ScriptFunction", 2145 "id": { 2146 "type": "Identifier", 2147 "name": "<cctor>", 2148 "decorators": [], 2149 "loc": { 2150 "start": { 2151 "line": 1, 2152 "column": 1 2153 }, 2154 "end": { 2155 "line": 1, 2156 "column": 1 2157 } 2158 } 2159 }, 2160 "generator": false, 2161 "async": false, 2162 "expression": true, 2163 "params": [], 2164 "body": { 2165 "type": "BlockStatement", 2166 "statements": [ 2167 { 2168 "type": "ExpressionStatement", 2169 "expression": { 2170 "type": "AssignmentExpression", 2171 "operator": "=", 2172 "left": { 2173 "type": "MemberExpression", 2174 "object": { 2175 "type": "Identifier", 2176 "name": "$dynmodule", 2177 "decorators": [], 2178 "loc": { 2179 "start": { 2180 "line": 1, 2181 "column": 1 2182 }, 2183 "end": { 2184 "line": 1, 2185 "column": 1 2186 } 2187 } 2188 }, 2189 "property": { 2190 "type": "Identifier", 2191 "name": "dynamic_js_import_tests0", 2192 "decorators": [], 2193 "loc": { 2194 "start": { 2195 "line": 1, 2196 "column": 1 2197 }, 2198 "end": { 2199 "line": 1, 2200 "column": 1 2201 } 2202 } 2203 }, 2204 "computed": false, 2205 "optional": false, 2206 "loc": { 2207 "start": { 2208 "line": 1, 2209 "column": 1 2210 }, 2211 "end": { 2212 "line": 1, 2213 "column": 1 2214 } 2215 } 2216 }, 2217 "right": { 2218 "type": "CallExpression", 2219 "callee": { 2220 "type": "MemberExpression", 2221 "object": { 2222 "type": "Identifier", 2223 "name": "JSRuntime", 2224 "decorators": [], 2225 "loc": { 2226 "start": { 2227 "line": 1, 2228 "column": 1 2229 }, 2230 "end": { 2231 "line": 1, 2232 "column": 1 2233 } 2234 } 2235 }, 2236 "property": { 2237 "type": "Identifier", 2238 "name": "loadModule", 2239 "decorators": [], 2240 "loc": { 2241 "start": { 2242 "line": 1, 2243 "column": 1 2244 }, 2245 "end": { 2246 "line": 1, 2247 "column": 1 2248 } 2249 } 2250 }, 2251 "computed": false, 2252 "optional": false, 2253 "loc": { 2254 "start": { 2255 "line": 1, 2256 "column": 1 2257 }, 2258 "end": { 2259 "line": 1, 2260 "column": 1 2261 } 2262 } 2263 }, 2264 "arguments": [ 2265 { 2266 "type": "StringLiteral", 2267 "value": "dynamic_js_import_tests", 2268 "loc": { 2269 "start": { 2270 "line": 1, 2271 "column": 1 2272 }, 2273 "end": { 2274 "line": 1, 2275 "column": 1 2276 } 2277 } 2278 } 2279 ], 2280 "optional": false, 2281 "loc": { 2282 "start": { 2283 "line": 1, 2284 "column": 1 2285 }, 2286 "end": { 2287 "line": 1, 2288 "column": 1 2289 } 2290 } 2291 }, 2292 "loc": { 2293 "start": { 2294 "line": 1, 2295 "column": 1 2296 }, 2297 "end": { 2298 "line": 1, 2299 "column": 1 2300 } 2301 } 2302 }, 2303 "loc": { 2304 "start": { 2305 "line": 1, 2306 "column": 1 2307 }, 2308 "end": { 2309 "line": 1, 2310 "column": 1 2311 } 2312 } 2313 } 2314 ], 2315 "loc": { 2316 "start": { 2317 "line": 1, 2318 "column": 1 2319 }, 2320 "end": { 2321 "line": 1, 2322 "column": 1 2323 } 2324 } 2325 }, 2326 "loc": { 2327 "start": { 2328 "line": 1, 2329 "column": 1 2330 }, 2331 "end": { 2332 "line": 1, 2333 "column": 1 2334 } 2335 } 2336 }, 2337 "loc": { 2338 "start": { 2339 "line": 1, 2340 "column": 1 2341 }, 2342 "end": { 2343 "line": 1, 2344 "column": 1 2345 } 2346 } 2347 }, 2348 "loc": { 2349 "start": { 2350 "line": 1, 2351 "column": 1 2352 }, 2353 "end": { 2354 "line": 1, 2355 "column": 1 2356 } 2357 } 2358 }, 2359 { 2360 "type": "MethodDefinition", 2361 "key": { 2362 "type": "Identifier", 2363 "name": "init", 2364 "decorators": [], 2365 "loc": { 2366 "start": { 2367 "line": 1, 2368 "column": 1 2369 }, 2370 "end": { 2371 "line": 1, 2372 "column": 1 2373 } 2374 } 2375 }, 2376 "kind": "method", 2377 "accessibility": "public", 2378 "static": true, 2379 "optional": false, 2380 "computed": false, 2381 "value": { 2382 "type": "FunctionExpression", 2383 "function": { 2384 "type": "ScriptFunction", 2385 "id": { 2386 "type": "Identifier", 2387 "name": "init", 2388 "decorators": [], 2389 "loc": { 2390 "start": { 2391 "line": 1, 2392 "column": 1 2393 }, 2394 "end": { 2395 "line": 1, 2396 "column": 1 2397 } 2398 } 2399 }, 2400 "generator": false, 2401 "async": false, 2402 "expression": false, 2403 "params": [], 2404 "returnType": { 2405 "type": "OpaqueType", 2406 "loc": { 2407 "start": { 2408 "line": 1, 2409 "column": 1 2410 }, 2411 "end": { 2412 "line": 1, 2413 "column": 1 2414 } 2415 } 2416 }, 2417 "body": { 2418 "type": "BlockStatement", 2419 "statements": [], 2420 "loc": { 2421 "start": { 2422 "line": 1, 2423 "column": 1 2424 }, 2425 "end": { 2426 "line": 1, 2427 "column": 1 2428 } 2429 } 2430 }, 2431 "loc": { 2432 "start": { 2433 "line": 1, 2434 "column": 1 2435 }, 2436 "end": { 2437 "line": 1, 2438 "column": 1 2439 } 2440 } 2441 }, 2442 "loc": { 2443 "start": { 2444 "line": 1, 2445 "column": 1 2446 }, 2447 "end": { 2448 "line": 1, 2449 "column": 1 2450 } 2451 } 2452 }, 2453 "overloads": [], 2454 "decorators": [], 2455 "loc": { 2456 "start": { 2457 "line": 1, 2458 "column": 1 2459 }, 2460 "end": { 2461 "line": 1, 2462 "column": 1 2463 } 2464 } 2465 } 2466 ], 2467 "loc": { 2468 "start": { 2469 "line": 1, 2470 "column": 1 2471 }, 2472 "end": { 2473 "line": 1, 2474 "column": 1 2475 } 2476 } 2477 }, 2478 "loc": { 2479 "start": { 2480 "line": 1, 2481 "column": 1 2482 }, 2483 "end": { 2484 "line": 1, 2485 "column": 1 2486 } 2487 } 2488 } 2489 ], 2490 "loc": { 2491 "start": { 2492 "line": 1, 2493 "column": 1 2494 }, 2495 "end": { 2496 "line": 26, 2497 "column": 1 2498 } 2499 } 2500} 2501