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