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