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