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