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