1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "A", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 16, 14 "column": 7, 15 "program": "cast_expressions3.ets" 16 }, 17 "end": { 18 "line": 16, 19 "column": 8, 20 "program": "cast_expressions3.ets" 21 } 22 } 23 }, 24 "superClass": null, 25 "implements": [], 26 "body": [ 27 { 28 "type": "MethodDefinition", 29 "key": { 30 "type": "Identifier", 31 "name": "constructor", 32 "decorators": [], 33 "loc": { 34 "start": { 35 "line": 16, 36 "column": 10, 37 "program": "cast_expressions3.ets" 38 }, 39 "end": { 40 "line": 16, 41 "column": 10, 42 "program": "cast_expressions3.ets" 43 } 44 } 45 }, 46 "kind": "constructor", 47 "static": false, 48 "optional": false, 49 "computed": false, 50 "value": { 51 "type": "FunctionExpression", 52 "function": { 53 "type": "ScriptFunction", 54 "id": { 55 "type": "Identifier", 56 "name": "constructor", 57 "decorators": [], 58 "loc": { 59 "start": { 60 "line": 16, 61 "column": 10, 62 "program": "cast_expressions3.ets" 63 }, 64 "end": { 65 "line": 16, 66 "column": 10, 67 "program": "cast_expressions3.ets" 68 } 69 } 70 }, 71 "generator": false, 72 "async": false, 73 "expression": false, 74 "params": [], 75 "body": { 76 "type": "BlockStatement", 77 "statements": [], 78 "loc": { 79 "start": { 80 "line": 16, 81 "column": 10, 82 "program": "cast_expressions3.ets" 83 }, 84 "end": { 85 "line": 16, 86 "column": 10, 87 "program": "cast_expressions3.ets" 88 } 89 } 90 }, 91 "loc": { 92 "start": { 93 "line": 16, 94 "column": 10, 95 "program": "cast_expressions3.ets" 96 }, 97 "end": { 98 "line": 16, 99 "column": 10, 100 "program": "cast_expressions3.ets" 101 } 102 } 103 }, 104 "loc": { 105 "start": { 106 "line": 16, 107 "column": 10, 108 "program": "cast_expressions3.ets" 109 }, 110 "end": { 111 "line": 16, 112 "column": 10, 113 "program": "cast_expressions3.ets" 114 } 115 } 116 }, 117 "overloads": [], 118 "decorators": [], 119 "loc": { 120 "start": { 121 "line": 1, 122 "column": 1, 123 "program": null 124 }, 125 "end": { 126 "line": 1, 127 "column": 1, 128 "program": null 129 } 130 } 131 } 132 ], 133 "loc": { 134 "start": { 135 "line": 16, 136 "column": 9, 137 "program": "cast_expressions3.ets" 138 }, 139 "end": { 140 "line": 17, 141 "column": 10, 142 "program": "cast_expressions3.ets" 143 } 144 } 145 }, 146 "loc": { 147 "start": { 148 "line": 16, 149 "column": 1, 150 "program": "cast_expressions3.ets" 151 }, 152 "end": { 153 "line": 17, 154 "column": 10, 155 "program": "cast_expressions3.ets" 156 } 157 } 158 }, 159 { 160 "type": "TSInterfaceDeclaration", 161 "body": { 162 "type": "TSInterfaceBody", 163 "body": [], 164 "loc": { 165 "start": { 166 "line": 17, 167 "column": 13, 168 "program": "cast_expressions3.ets" 169 }, 170 "end": { 171 "line": 17, 172 "column": 15, 173 "program": "cast_expressions3.ets" 174 } 175 } 176 }, 177 "id": { 178 "type": "Identifier", 179 "name": "I", 180 "decorators": [], 181 "loc": { 182 "start": { 183 "line": 17, 184 "column": 11, 185 "program": "cast_expressions3.ets" 186 }, 187 "end": { 188 "line": 17, 189 "column": 12, 190 "program": "cast_expressions3.ets" 191 } 192 } 193 }, 194 "extends": [], 195 "loc": { 196 "start": { 197 "line": 17, 198 "column": 1, 199 "program": "cast_expressions3.ets" 200 }, 201 "end": { 202 "line": 18, 203 "column": 6, 204 "program": "cast_expressions3.ets" 205 } 206 } 207 }, 208 { 209 "type": "ClassDeclaration", 210 "definition": { 211 "id": { 212 "type": "Identifier", 213 "name": "B", 214 "decorators": [], 215 "loc": { 216 "start": { 217 "line": 18, 218 "column": 7, 219 "program": "cast_expressions3.ets" 220 }, 221 "end": { 222 "line": 18, 223 "column": 8, 224 "program": "cast_expressions3.ets" 225 } 226 } 227 }, 228 "superClass": { 229 "type": "ETSTypeReference", 230 "part": { 231 "type": "ETSTypeReferencePart", 232 "name": { 233 "type": "Identifier", 234 "name": "A", 235 "decorators": [], 236 "loc": { 237 "start": { 238 "line": 18, 239 "column": 17, 240 "program": "cast_expressions3.ets" 241 }, 242 "end": { 243 "line": 18, 244 "column": 18, 245 "program": "cast_expressions3.ets" 246 } 247 } 248 }, 249 "loc": { 250 "start": { 251 "line": 18, 252 "column": 17, 253 "program": "cast_expressions3.ets" 254 }, 255 "end": { 256 "line": 18, 257 "column": 29, 258 "program": "cast_expressions3.ets" 259 } 260 } 261 }, 262 "loc": { 263 "start": { 264 "line": 18, 265 "column": 17, 266 "program": "cast_expressions3.ets" 267 }, 268 "end": { 269 "line": 18, 270 "column": 29, 271 "program": "cast_expressions3.ets" 272 } 273 } 274 }, 275 "implements": [ 276 { 277 "type": "TSClassImplements", 278 "expression": { 279 "type": "ETSTypeReference", 280 "part": { 281 "type": "ETSTypeReferencePart", 282 "name": { 283 "type": "Identifier", 284 "name": "I", 285 "decorators": [], 286 "loc": { 287 "start": { 288 "line": 18, 289 "column": 30, 290 "program": "cast_expressions3.ets" 291 }, 292 "end": { 293 "line": 18, 294 "column": 31, 295 "program": "cast_expressions3.ets" 296 } 297 } 298 }, 299 "loc": { 300 "start": { 301 "line": 18, 302 "column": 30, 303 "program": "cast_expressions3.ets" 304 }, 305 "end": { 306 "line": 18, 307 "column": 33, 308 "program": "cast_expressions3.ets" 309 } 310 } 311 }, 312 "loc": { 313 "start": { 314 "line": 18, 315 "column": 30, 316 "program": "cast_expressions3.ets" 317 }, 318 "end": { 319 "line": 18, 320 "column": 33, 321 "program": "cast_expressions3.ets" 322 } 323 } 324 }, 325 "loc": { 326 "start": { 327 "line": 18, 328 "column": 30, 329 "program": "cast_expressions3.ets" 330 }, 331 "end": { 332 "line": 18, 333 "column": 33, 334 "program": "cast_expressions3.ets" 335 } 336 } 337 } 338 ], 339 "body": [ 340 { 341 "type": "MethodDefinition", 342 "key": { 343 "type": "Identifier", 344 "name": "constructor", 345 "decorators": [], 346 "loc": { 347 "start": { 348 "line": 18, 349 "column": 33, 350 "program": "cast_expressions3.ets" 351 }, 352 "end": { 353 "line": 18, 354 "column": 33, 355 "program": "cast_expressions3.ets" 356 } 357 } 358 }, 359 "kind": "constructor", 360 "static": false, 361 "optional": false, 362 "computed": false, 363 "value": { 364 "type": "FunctionExpression", 365 "function": { 366 "type": "ScriptFunction", 367 "id": { 368 "type": "Identifier", 369 "name": "constructor", 370 "decorators": [], 371 "loc": { 372 "start": { 373 "line": 18, 374 "column": 33, 375 "program": "cast_expressions3.ets" 376 }, 377 "end": { 378 "line": 18, 379 "column": 33, 380 "program": "cast_expressions3.ets" 381 } 382 } 383 }, 384 "generator": false, 385 "async": false, 386 "expression": false, 387 "params": [], 388 "body": { 389 "type": "BlockStatement", 390 "statements": [], 391 "loc": { 392 "start": { 393 "line": 18, 394 "column": 33, 395 "program": "cast_expressions3.ets" 396 }, 397 "end": { 398 "line": 18, 399 "column": 33, 400 "program": "cast_expressions3.ets" 401 } 402 } 403 }, 404 "loc": { 405 "start": { 406 "line": 18, 407 "column": 33, 408 "program": "cast_expressions3.ets" 409 }, 410 "end": { 411 "line": 18, 412 "column": 33, 413 "program": "cast_expressions3.ets" 414 } 415 } 416 }, 417 "loc": { 418 "start": { 419 "line": 18, 420 "column": 33, 421 "program": "cast_expressions3.ets" 422 }, 423 "end": { 424 "line": 18, 425 "column": 33, 426 "program": "cast_expressions3.ets" 427 } 428 } 429 }, 430 "overloads": [], 431 "decorators": [], 432 "loc": { 433 "start": { 434 "line": 1, 435 "column": 1, 436 "program": null 437 }, 438 "end": { 439 "line": 1, 440 "column": 1, 441 "program": null 442 } 443 } 444 } 445 ], 446 "loc": { 447 "start": { 448 "line": 18, 449 "column": 32, 450 "program": "cast_expressions3.ets" 451 }, 452 "end": { 453 "line": 19, 454 "column": 6, 455 "program": "cast_expressions3.ets" 456 } 457 } 458 }, 459 "loc": { 460 "start": { 461 "line": 18, 462 "column": 1, 463 "program": "cast_expressions3.ets" 464 }, 465 "end": { 466 "line": 19, 467 "column": 6, 468 "program": "cast_expressions3.ets" 469 } 470 } 471 }, 472 { 473 "type": "ClassDeclaration", 474 "definition": { 475 "id": { 476 "type": "Identifier", 477 "name": "C", 478 "decorators": [], 479 "loc": { 480 "start": { 481 "line": 19, 482 "column": 7, 483 "program": "cast_expressions3.ets" 484 }, 485 "end": { 486 "line": 19, 487 "column": 8, 488 "program": "cast_expressions3.ets" 489 } 490 } 491 }, 492 "superClass": { 493 "type": "ETSTypeReference", 494 "part": { 495 "type": "ETSTypeReferencePart", 496 "name": { 497 "type": "Identifier", 498 "name": "B", 499 "decorators": [], 500 "loc": { 501 "start": { 502 "line": 19, 503 "column": 17, 504 "program": "cast_expressions3.ets" 505 }, 506 "end": { 507 "line": 19, 508 "column": 18, 509 "program": "cast_expressions3.ets" 510 } 511 } 512 }, 513 "loc": { 514 "start": { 515 "line": 19, 516 "column": 17, 517 "program": "cast_expressions3.ets" 518 }, 519 "end": { 520 "line": 19, 521 "column": 20, 522 "program": "cast_expressions3.ets" 523 } 524 } 525 }, 526 "loc": { 527 "start": { 528 "line": 19, 529 "column": 17, 530 "program": "cast_expressions3.ets" 531 }, 532 "end": { 533 "line": 19, 534 "column": 20, 535 "program": "cast_expressions3.ets" 536 } 537 } 538 }, 539 "implements": [], 540 "body": [ 541 { 542 "type": "MethodDefinition", 543 "key": { 544 "type": "Identifier", 545 "name": "constructor", 546 "decorators": [], 547 "loc": { 548 "start": { 549 "line": 19, 550 "column": 20, 551 "program": "cast_expressions3.ets" 552 }, 553 "end": { 554 "line": 19, 555 "column": 20, 556 "program": "cast_expressions3.ets" 557 } 558 } 559 }, 560 "kind": "constructor", 561 "static": false, 562 "optional": false, 563 "computed": false, 564 "value": { 565 "type": "FunctionExpression", 566 "function": { 567 "type": "ScriptFunction", 568 "id": { 569 "type": "Identifier", 570 "name": "constructor", 571 "decorators": [], 572 "loc": { 573 "start": { 574 "line": 19, 575 "column": 20, 576 "program": "cast_expressions3.ets" 577 }, 578 "end": { 579 "line": 19, 580 "column": 20, 581 "program": "cast_expressions3.ets" 582 } 583 } 584 }, 585 "generator": false, 586 "async": false, 587 "expression": false, 588 "params": [], 589 "body": { 590 "type": "BlockStatement", 591 "statements": [], 592 "loc": { 593 "start": { 594 "line": 19, 595 "column": 20, 596 "program": "cast_expressions3.ets" 597 }, 598 "end": { 599 "line": 19, 600 "column": 20, 601 "program": "cast_expressions3.ets" 602 } 603 } 604 }, 605 "loc": { 606 "start": { 607 "line": 19, 608 "column": 20, 609 "program": "cast_expressions3.ets" 610 }, 611 "end": { 612 "line": 19, 613 "column": 20, 614 "program": "cast_expressions3.ets" 615 } 616 } 617 }, 618 "loc": { 619 "start": { 620 "line": 19, 621 "column": 20, 622 "program": "cast_expressions3.ets" 623 }, 624 "end": { 625 "line": 19, 626 "column": 20, 627 "program": "cast_expressions3.ets" 628 } 629 } 630 }, 631 "overloads": [], 632 "decorators": [], 633 "loc": { 634 "start": { 635 "line": 1, 636 "column": 1, 637 "program": null 638 }, 639 "end": { 640 "line": 1, 641 "column": 1, 642 "program": null 643 } 644 } 645 } 646 ], 647 "loc": { 648 "start": { 649 "line": 19, 650 "column": 19, 651 "program": "cast_expressions3.ets" 652 }, 653 "end": { 654 "line": 21, 655 "column": 9, 656 "program": "cast_expressions3.ets" 657 } 658 } 659 }, 660 "loc": { 661 "start": { 662 "line": 19, 663 "column": 1, 664 "program": "cast_expressions3.ets" 665 }, 666 "end": { 667 "line": 21, 668 "column": 9, 669 "program": "cast_expressions3.ets" 670 } 671 } 672 }, 673 { 674 "type": "ClassDeclaration", 675 "definition": { 676 "id": { 677 "type": "Identifier", 678 "name": "ETSGLOBAL", 679 "decorators": [], 680 "loc": { 681 "start": { 682 "line": 1, 683 "column": 1, 684 "program": "cast_expressions3.ets" 685 }, 686 "end": { 687 "line": 1, 688 "column": 1, 689 "program": "cast_expressions3.ets" 690 } 691 } 692 }, 693 "superClass": null, 694 "implements": [], 695 "body": [ 696 { 697 "type": "MethodDefinition", 698 "key": { 699 "type": "Identifier", 700 "name": "main", 701 "decorators": [], 702 "loc": { 703 "start": { 704 "line": 1, 705 "column": 1, 706 "program": null 707 }, 708 "end": { 709 "line": 1, 710 "column": 1, 711 "program": null 712 } 713 } 714 }, 715 "kind": "method", 716 "accessibility": "public", 717 "static": true, 718 "optional": false, 719 "computed": false, 720 "value": { 721 "type": "FunctionExpression", 722 "function": { 723 "type": "ScriptFunction", 724 "id": { 725 "type": "Identifier", 726 "name": "main", 727 "decorators": [], 728 "loc": { 729 "start": { 730 "line": 1, 731 "column": 1, 732 "program": null 733 }, 734 "end": { 735 "line": 1, 736 "column": 1, 737 "program": null 738 } 739 } 740 }, 741 "generator": false, 742 "async": false, 743 "expression": false, 744 "params": [], 745 "body": { 746 "type": "BlockStatement", 747 "statements": [], 748 "loc": { 749 "start": { 750 "line": 1, 751 "column": 1, 752 "program": null 753 }, 754 "end": { 755 "line": 1, 756 "column": 1, 757 "program": null 758 } 759 } 760 }, 761 "loc": { 762 "start": { 763 "line": 1, 764 "column": 1, 765 "program": null 766 }, 767 "end": { 768 "line": 1, 769 "column": 1, 770 "program": null 771 } 772 } 773 }, 774 "loc": { 775 "start": { 776 "line": 1, 777 "column": 1, 778 "program": null 779 }, 780 "end": { 781 "line": 1, 782 "column": 1, 783 "program": null 784 } 785 } 786 }, 787 "overloads": [], 788 "decorators": [], 789 "loc": { 790 "start": { 791 "line": 1, 792 "column": 1, 793 "program": "cast_expressions3.ets" 794 }, 795 "end": { 796 "line": 1, 797 "column": 1, 798 "program": "cast_expressions3.ets" 799 } 800 } 801 }, 802 { 803 "type": "MethodDefinition", 804 "key": { 805 "type": "Identifier", 806 "name": "_$init$_", 807 "decorators": [], 808 "loc": { 809 "start": { 810 "line": 1, 811 "column": 1, 812 "program": null 813 }, 814 "end": { 815 "line": 1, 816 "column": 1, 817 "program": null 818 } 819 } 820 }, 821 "kind": "method", 822 "accessibility": "public", 823 "static": true, 824 "optional": false, 825 "computed": false, 826 "value": { 827 "type": "FunctionExpression", 828 "function": { 829 "type": "ScriptFunction", 830 "id": { 831 "type": "Identifier", 832 "name": "_$init$_", 833 "decorators": [], 834 "loc": { 835 "start": { 836 "line": 1, 837 "column": 1, 838 "program": null 839 }, 840 "end": { 841 "line": 1, 842 "column": 1, 843 "program": null 844 } 845 } 846 }, 847 "generator": false, 848 "async": false, 849 "expression": false, 850 "params": [], 851 "body": { 852 "type": "BlockStatement", 853 "statements": [], 854 "loc": { 855 "start": { 856 "line": 1, 857 "column": 1, 858 "program": null 859 }, 860 "end": { 861 "line": 1, 862 "column": 1, 863 "program": null 864 } 865 } 866 }, 867 "loc": { 868 "start": { 869 "line": 1, 870 "column": 1, 871 "program": null 872 }, 873 "end": { 874 "line": 1, 875 "column": 1, 876 "program": null 877 } 878 } 879 }, 880 "loc": { 881 "start": { 882 "line": 1, 883 "column": 1, 884 "program": null 885 }, 886 "end": { 887 "line": 1, 888 "column": 1, 889 "program": null 890 } 891 } 892 }, 893 "overloads": [], 894 "decorators": [], 895 "loc": { 896 "start": { 897 "line": 1, 898 "column": 1, 899 "program": "cast_expressions3.ets" 900 }, 901 "end": { 902 "line": 1, 903 "column": 1, 904 "program": "cast_expressions3.ets" 905 } 906 } 907 }, 908 { 909 "type": "MethodDefinition", 910 "key": { 911 "type": "Identifier", 912 "name": "widening_reference_test", 913 "decorators": [], 914 "loc": { 915 "start": { 916 "line": 21, 917 "column": 10, 918 "program": "cast_expressions3.ets" 919 }, 920 "end": { 921 "line": 21, 922 "column": 33, 923 "program": "cast_expressions3.ets" 924 } 925 } 926 }, 927 "kind": "method", 928 "accessibility": "public", 929 "static": true, 930 "optional": false, 931 "computed": false, 932 "value": { 933 "type": "FunctionExpression", 934 "function": { 935 "type": "ScriptFunction", 936 "id": { 937 "type": "Identifier", 938 "name": "widening_reference_test", 939 "decorators": [], 940 "loc": { 941 "start": { 942 "line": 21, 943 "column": 10, 944 "program": "cast_expressions3.ets" 945 }, 946 "end": { 947 "line": 21, 948 "column": 33, 949 "program": "cast_expressions3.ets" 950 } 951 } 952 }, 953 "generator": false, 954 "async": false, 955 "expression": false, 956 "params": [], 957 "returnType": { 958 "type": "ETSPrimitiveType", 959 "loc": { 960 "start": { 961 "line": 21, 962 "column": 37, 963 "program": "cast_expressions3.ets" 964 }, 965 "end": { 966 "line": 21, 967 "column": 41, 968 "program": "cast_expressions3.ets" 969 } 970 } 971 }, 972 "body": { 973 "type": "BlockStatement", 974 "statements": [ 975 { 976 "type": "VariableDeclaration", 977 "declarations": [ 978 { 979 "type": "VariableDeclarator", 980 "id": { 981 "type": "Identifier", 982 "name": "C_", 983 "decorators": [], 984 "loc": { 985 "start": { 986 "line": 22, 987 "column": 7, 988 "program": "cast_expressions3.ets" 989 }, 990 "end": { 991 "line": 22, 992 "column": 9, 993 "program": "cast_expressions3.ets" 994 } 995 } 996 }, 997 "init": { 998 "type": "ETSNewClassInstanceExpression", 999 "typeReference": { 1000 "type": "ETSTypeReference", 1001 "part": { 1002 "type": "ETSTypeReferencePart", 1003 "name": { 1004 "type": "Identifier", 1005 "name": "C", 1006 "decorators": [], 1007 "loc": { 1008 "start": { 1009 "line": 22, 1010 "column": 16, 1011 "program": "cast_expressions3.ets" 1012 }, 1013 "end": { 1014 "line": 22, 1015 "column": 17, 1016 "program": "cast_expressions3.ets" 1017 } 1018 } 1019 }, 1020 "loc": { 1021 "start": { 1022 "line": 22, 1023 "column": 16, 1024 "program": "cast_expressions3.ets" 1025 }, 1026 "end": { 1027 "line": 22, 1028 "column": 18, 1029 "program": "cast_expressions3.ets" 1030 } 1031 } 1032 }, 1033 "loc": { 1034 "start": { 1035 "line": 22, 1036 "column": 16, 1037 "program": "cast_expressions3.ets" 1038 }, 1039 "end": { 1040 "line": 22, 1041 "column": 18, 1042 "program": "cast_expressions3.ets" 1043 } 1044 } 1045 }, 1046 "arguments": [], 1047 "loc": { 1048 "start": { 1049 "line": 22, 1050 "column": 12, 1051 "program": "cast_expressions3.ets" 1052 }, 1053 "end": { 1054 "line": 22, 1055 "column": 20, 1056 "program": "cast_expressions3.ets" 1057 } 1058 } 1059 }, 1060 "loc": { 1061 "start": { 1062 "line": 22, 1063 "column": 7, 1064 "program": "cast_expressions3.ets" 1065 }, 1066 "end": { 1067 "line": 22, 1068 "column": 20, 1069 "program": "cast_expressions3.ets" 1070 } 1071 } 1072 } 1073 ], 1074 "kind": "let", 1075 "loc": { 1076 "start": { 1077 "line": 22, 1078 "column": 3, 1079 "program": "cast_expressions3.ets" 1080 }, 1081 "end": { 1082 "line": 22, 1083 "column": 20, 1084 "program": "cast_expressions3.ets" 1085 } 1086 } 1087 }, 1088 { 1089 "type": "VariableDeclaration", 1090 "declarations": [ 1091 { 1092 "type": "VariableDeclarator", 1093 "id": { 1094 "type": "Identifier", 1095 "name": "C_C", 1096 "decorators": [], 1097 "loc": { 1098 "start": { 1099 "line": 24, 1100 "column": 7, 1101 "program": "cast_expressions3.ets" 1102 }, 1103 "end": { 1104 "line": 24, 1105 "column": 10, 1106 "program": "cast_expressions3.ets" 1107 } 1108 } 1109 }, 1110 "init": { 1111 "type": "TSAsExpression", 1112 "expression": { 1113 "type": "Identifier", 1114 "name": "C_", 1115 "decorators": [], 1116 "loc": { 1117 "start": { 1118 "line": 24, 1119 "column": 13, 1120 "program": "cast_expressions3.ets" 1121 }, 1122 "end": { 1123 "line": 24, 1124 "column": 15, 1125 "program": "cast_expressions3.ets" 1126 } 1127 } 1128 }, 1129 "typeAnnotation": { 1130 "type": "ETSTypeReference", 1131 "part": { 1132 "type": "ETSTypeReferencePart", 1133 "name": { 1134 "type": "Identifier", 1135 "name": "C", 1136 "decorators": [], 1137 "loc": { 1138 "start": { 1139 "line": 24, 1140 "column": 19, 1141 "program": "cast_expressions3.ets" 1142 }, 1143 "end": { 1144 "line": 24, 1145 "column": 20, 1146 "program": "cast_expressions3.ets" 1147 } 1148 } 1149 }, 1150 "loc": { 1151 "start": { 1152 "line": 24, 1153 "column": 19, 1154 "program": "cast_expressions3.ets" 1155 }, 1156 "end": { 1157 "line": 24, 1158 "column": 21, 1159 "program": "cast_expressions3.ets" 1160 } 1161 } 1162 }, 1163 "loc": { 1164 "start": { 1165 "line": 24, 1166 "column": 19, 1167 "program": "cast_expressions3.ets" 1168 }, 1169 "end": { 1170 "line": 24, 1171 "column": 21, 1172 "program": "cast_expressions3.ets" 1173 } 1174 } 1175 }, 1176 "loc": { 1177 "start": { 1178 "line": 24, 1179 "column": 13, 1180 "program": "cast_expressions3.ets" 1181 }, 1182 "end": { 1183 "line": 24, 1184 "column": 15, 1185 "program": "cast_expressions3.ets" 1186 } 1187 } 1188 }, 1189 "loc": { 1190 "start": { 1191 "line": 24, 1192 "column": 7, 1193 "program": "cast_expressions3.ets" 1194 }, 1195 "end": { 1196 "line": 24, 1197 "column": 15, 1198 "program": "cast_expressions3.ets" 1199 } 1200 } 1201 } 1202 ], 1203 "kind": "let", 1204 "loc": { 1205 "start": { 1206 "line": 24, 1207 "column": 3, 1208 "program": "cast_expressions3.ets" 1209 }, 1210 "end": { 1211 "line": 24, 1212 "column": 21, 1213 "program": "cast_expressions3.ets" 1214 } 1215 } 1216 }, 1217 { 1218 "type": "VariableDeclaration", 1219 "declarations": [ 1220 { 1221 "type": "VariableDeclarator", 1222 "id": { 1223 "type": "Identifier", 1224 "name": "C_B", 1225 "decorators": [], 1226 "loc": { 1227 "start": { 1228 "line": 25, 1229 "column": 7, 1230 "program": "cast_expressions3.ets" 1231 }, 1232 "end": { 1233 "line": 25, 1234 "column": 10, 1235 "program": "cast_expressions3.ets" 1236 } 1237 } 1238 }, 1239 "init": { 1240 "type": "TSAsExpression", 1241 "expression": { 1242 "type": "Identifier", 1243 "name": "C_", 1244 "decorators": [], 1245 "loc": { 1246 "start": { 1247 "line": 25, 1248 "column": 13, 1249 "program": "cast_expressions3.ets" 1250 }, 1251 "end": { 1252 "line": 25, 1253 "column": 15, 1254 "program": "cast_expressions3.ets" 1255 } 1256 } 1257 }, 1258 "typeAnnotation": { 1259 "type": "ETSTypeReference", 1260 "part": { 1261 "type": "ETSTypeReferencePart", 1262 "name": { 1263 "type": "Identifier", 1264 "name": "B", 1265 "decorators": [], 1266 "loc": { 1267 "start": { 1268 "line": 25, 1269 "column": 19, 1270 "program": "cast_expressions3.ets" 1271 }, 1272 "end": { 1273 "line": 25, 1274 "column": 20, 1275 "program": "cast_expressions3.ets" 1276 } 1277 } 1278 }, 1279 "loc": { 1280 "start": { 1281 "line": 25, 1282 "column": 19, 1283 "program": "cast_expressions3.ets" 1284 }, 1285 "end": { 1286 "line": 25, 1287 "column": 21, 1288 "program": "cast_expressions3.ets" 1289 } 1290 } 1291 }, 1292 "loc": { 1293 "start": { 1294 "line": 25, 1295 "column": 19, 1296 "program": "cast_expressions3.ets" 1297 }, 1298 "end": { 1299 "line": 25, 1300 "column": 21, 1301 "program": "cast_expressions3.ets" 1302 } 1303 } 1304 }, 1305 "loc": { 1306 "start": { 1307 "line": 25, 1308 "column": 13, 1309 "program": "cast_expressions3.ets" 1310 }, 1311 "end": { 1312 "line": 25, 1313 "column": 15, 1314 "program": "cast_expressions3.ets" 1315 } 1316 } 1317 }, 1318 "loc": { 1319 "start": { 1320 "line": 25, 1321 "column": 7, 1322 "program": "cast_expressions3.ets" 1323 }, 1324 "end": { 1325 "line": 25, 1326 "column": 15, 1327 "program": "cast_expressions3.ets" 1328 } 1329 } 1330 } 1331 ], 1332 "kind": "let", 1333 "loc": { 1334 "start": { 1335 "line": 25, 1336 "column": 3, 1337 "program": "cast_expressions3.ets" 1338 }, 1339 "end": { 1340 "line": 25, 1341 "column": 21, 1342 "program": "cast_expressions3.ets" 1343 } 1344 } 1345 }, 1346 { 1347 "type": "VariableDeclaration", 1348 "declarations": [ 1349 { 1350 "type": "VariableDeclarator", 1351 "id": { 1352 "type": "Identifier", 1353 "name": "C_A", 1354 "decorators": [], 1355 "loc": { 1356 "start": { 1357 "line": 26, 1358 "column": 7, 1359 "program": "cast_expressions3.ets" 1360 }, 1361 "end": { 1362 "line": 26, 1363 "column": 10, 1364 "program": "cast_expressions3.ets" 1365 } 1366 } 1367 }, 1368 "init": { 1369 "type": "TSAsExpression", 1370 "expression": { 1371 "type": "Identifier", 1372 "name": "C_", 1373 "decorators": [], 1374 "loc": { 1375 "start": { 1376 "line": 26, 1377 "column": 13, 1378 "program": "cast_expressions3.ets" 1379 }, 1380 "end": { 1381 "line": 26, 1382 "column": 15, 1383 "program": "cast_expressions3.ets" 1384 } 1385 } 1386 }, 1387 "typeAnnotation": { 1388 "type": "ETSTypeReference", 1389 "part": { 1390 "type": "ETSTypeReferencePart", 1391 "name": { 1392 "type": "Identifier", 1393 "name": "A", 1394 "decorators": [], 1395 "loc": { 1396 "start": { 1397 "line": 26, 1398 "column": 19, 1399 "program": "cast_expressions3.ets" 1400 }, 1401 "end": { 1402 "line": 26, 1403 "column": 20, 1404 "program": "cast_expressions3.ets" 1405 } 1406 } 1407 }, 1408 "loc": { 1409 "start": { 1410 "line": 26, 1411 "column": 19, 1412 "program": "cast_expressions3.ets" 1413 }, 1414 "end": { 1415 "line": 26, 1416 "column": 21, 1417 "program": "cast_expressions3.ets" 1418 } 1419 } 1420 }, 1421 "loc": { 1422 "start": { 1423 "line": 26, 1424 "column": 19, 1425 "program": "cast_expressions3.ets" 1426 }, 1427 "end": { 1428 "line": 26, 1429 "column": 21, 1430 "program": "cast_expressions3.ets" 1431 } 1432 } 1433 }, 1434 "loc": { 1435 "start": { 1436 "line": 26, 1437 "column": 13, 1438 "program": "cast_expressions3.ets" 1439 }, 1440 "end": { 1441 "line": 26, 1442 "column": 15, 1443 "program": "cast_expressions3.ets" 1444 } 1445 } 1446 }, 1447 "loc": { 1448 "start": { 1449 "line": 26, 1450 "column": 7, 1451 "program": "cast_expressions3.ets" 1452 }, 1453 "end": { 1454 "line": 26, 1455 "column": 15, 1456 "program": "cast_expressions3.ets" 1457 } 1458 } 1459 } 1460 ], 1461 "kind": "let", 1462 "loc": { 1463 "start": { 1464 "line": 26, 1465 "column": 3, 1466 "program": "cast_expressions3.ets" 1467 }, 1468 "end": { 1469 "line": 26, 1470 "column": 21, 1471 "program": "cast_expressions3.ets" 1472 } 1473 } 1474 }, 1475 { 1476 "type": "VariableDeclaration", 1477 "declarations": [ 1478 { 1479 "type": "VariableDeclarator", 1480 "id": { 1481 "type": "Identifier", 1482 "name": "C_I", 1483 "decorators": [], 1484 "loc": { 1485 "start": { 1486 "line": 27, 1487 "column": 7, 1488 "program": "cast_expressions3.ets" 1489 }, 1490 "end": { 1491 "line": 27, 1492 "column": 10, 1493 "program": "cast_expressions3.ets" 1494 } 1495 } 1496 }, 1497 "init": { 1498 "type": "TSAsExpression", 1499 "expression": { 1500 "type": "Identifier", 1501 "name": "C_", 1502 "decorators": [], 1503 "loc": { 1504 "start": { 1505 "line": 27, 1506 "column": 13, 1507 "program": "cast_expressions3.ets" 1508 }, 1509 "end": { 1510 "line": 27, 1511 "column": 15, 1512 "program": "cast_expressions3.ets" 1513 } 1514 } 1515 }, 1516 "typeAnnotation": { 1517 "type": "ETSTypeReference", 1518 "part": { 1519 "type": "ETSTypeReferencePart", 1520 "name": { 1521 "type": "Identifier", 1522 "name": "I", 1523 "decorators": [], 1524 "loc": { 1525 "start": { 1526 "line": 27, 1527 "column": 19, 1528 "program": "cast_expressions3.ets" 1529 }, 1530 "end": { 1531 "line": 27, 1532 "column": 20, 1533 "program": "cast_expressions3.ets" 1534 } 1535 } 1536 }, 1537 "loc": { 1538 "start": { 1539 "line": 27, 1540 "column": 19, 1541 "program": "cast_expressions3.ets" 1542 }, 1543 "end": { 1544 "line": 27, 1545 "column": 21, 1546 "program": "cast_expressions3.ets" 1547 } 1548 } 1549 }, 1550 "loc": { 1551 "start": { 1552 "line": 27, 1553 "column": 19, 1554 "program": "cast_expressions3.ets" 1555 }, 1556 "end": { 1557 "line": 27, 1558 "column": 21, 1559 "program": "cast_expressions3.ets" 1560 } 1561 } 1562 }, 1563 "loc": { 1564 "start": { 1565 "line": 27, 1566 "column": 13, 1567 "program": "cast_expressions3.ets" 1568 }, 1569 "end": { 1570 "line": 27, 1571 "column": 15, 1572 "program": "cast_expressions3.ets" 1573 } 1574 } 1575 }, 1576 "loc": { 1577 "start": { 1578 "line": 27, 1579 "column": 7, 1580 "program": "cast_expressions3.ets" 1581 }, 1582 "end": { 1583 "line": 27, 1584 "column": 15, 1585 "program": "cast_expressions3.ets" 1586 } 1587 } 1588 } 1589 ], 1590 "kind": "let", 1591 "loc": { 1592 "start": { 1593 "line": 27, 1594 "column": 3, 1595 "program": "cast_expressions3.ets" 1596 }, 1597 "end": { 1598 "line": 27, 1599 "column": 21, 1600 "program": "cast_expressions3.ets" 1601 } 1602 } 1603 }, 1604 { 1605 "type": "VariableDeclaration", 1606 "declarations": [ 1607 { 1608 "type": "VariableDeclarator", 1609 "id": { 1610 "type": "Identifier", 1611 "name": "B_B", 1612 "decorators": [], 1613 "loc": { 1614 "start": { 1615 "line": 29, 1616 "column": 7, 1617 "program": "cast_expressions3.ets" 1618 }, 1619 "end": { 1620 "line": 29, 1621 "column": 10, 1622 "program": "cast_expressions3.ets" 1623 } 1624 } 1625 }, 1626 "init": { 1627 "type": "TSAsExpression", 1628 "expression": { 1629 "type": "Identifier", 1630 "name": "C_B", 1631 "decorators": [], 1632 "loc": { 1633 "start": { 1634 "line": 29, 1635 "column": 13, 1636 "program": "cast_expressions3.ets" 1637 }, 1638 "end": { 1639 "line": 29, 1640 "column": 16, 1641 "program": "cast_expressions3.ets" 1642 } 1643 } 1644 }, 1645 "typeAnnotation": { 1646 "type": "ETSTypeReference", 1647 "part": { 1648 "type": "ETSTypeReferencePart", 1649 "name": { 1650 "type": "Identifier", 1651 "name": "B", 1652 "decorators": [], 1653 "loc": { 1654 "start": { 1655 "line": 29, 1656 "column": 20, 1657 "program": "cast_expressions3.ets" 1658 }, 1659 "end": { 1660 "line": 29, 1661 "column": 21, 1662 "program": "cast_expressions3.ets" 1663 } 1664 } 1665 }, 1666 "loc": { 1667 "start": { 1668 "line": 29, 1669 "column": 20, 1670 "program": "cast_expressions3.ets" 1671 }, 1672 "end": { 1673 "line": 29, 1674 "column": 22, 1675 "program": "cast_expressions3.ets" 1676 } 1677 } 1678 }, 1679 "loc": { 1680 "start": { 1681 "line": 29, 1682 "column": 20, 1683 "program": "cast_expressions3.ets" 1684 }, 1685 "end": { 1686 "line": 29, 1687 "column": 22, 1688 "program": "cast_expressions3.ets" 1689 } 1690 } 1691 }, 1692 "loc": { 1693 "start": { 1694 "line": 29, 1695 "column": 13, 1696 "program": "cast_expressions3.ets" 1697 }, 1698 "end": { 1699 "line": 29, 1700 "column": 16, 1701 "program": "cast_expressions3.ets" 1702 } 1703 } 1704 }, 1705 "loc": { 1706 "start": { 1707 "line": 29, 1708 "column": 7, 1709 "program": "cast_expressions3.ets" 1710 }, 1711 "end": { 1712 "line": 29, 1713 "column": 16, 1714 "program": "cast_expressions3.ets" 1715 } 1716 } 1717 } 1718 ], 1719 "kind": "let", 1720 "loc": { 1721 "start": { 1722 "line": 29, 1723 "column": 3, 1724 "program": "cast_expressions3.ets" 1725 }, 1726 "end": { 1727 "line": 29, 1728 "column": 22, 1729 "program": "cast_expressions3.ets" 1730 } 1731 } 1732 }, 1733 { 1734 "type": "VariableDeclaration", 1735 "declarations": [ 1736 { 1737 "type": "VariableDeclarator", 1738 "id": { 1739 "type": "Identifier", 1740 "name": "B_A", 1741 "decorators": [], 1742 "loc": { 1743 "start": { 1744 "line": 30, 1745 "column": 7, 1746 "program": "cast_expressions3.ets" 1747 }, 1748 "end": { 1749 "line": 30, 1750 "column": 10, 1751 "program": "cast_expressions3.ets" 1752 } 1753 } 1754 }, 1755 "init": { 1756 "type": "TSAsExpression", 1757 "expression": { 1758 "type": "Identifier", 1759 "name": "C_B", 1760 "decorators": [], 1761 "loc": { 1762 "start": { 1763 "line": 30, 1764 "column": 13, 1765 "program": "cast_expressions3.ets" 1766 }, 1767 "end": { 1768 "line": 30, 1769 "column": 16, 1770 "program": "cast_expressions3.ets" 1771 } 1772 } 1773 }, 1774 "typeAnnotation": { 1775 "type": "ETSTypeReference", 1776 "part": { 1777 "type": "ETSTypeReferencePart", 1778 "name": { 1779 "type": "Identifier", 1780 "name": "A", 1781 "decorators": [], 1782 "loc": { 1783 "start": { 1784 "line": 30, 1785 "column": 20, 1786 "program": "cast_expressions3.ets" 1787 }, 1788 "end": { 1789 "line": 30, 1790 "column": 21, 1791 "program": "cast_expressions3.ets" 1792 } 1793 } 1794 }, 1795 "loc": { 1796 "start": { 1797 "line": 30, 1798 "column": 20, 1799 "program": "cast_expressions3.ets" 1800 }, 1801 "end": { 1802 "line": 30, 1803 "column": 22, 1804 "program": "cast_expressions3.ets" 1805 } 1806 } 1807 }, 1808 "loc": { 1809 "start": { 1810 "line": 30, 1811 "column": 20, 1812 "program": "cast_expressions3.ets" 1813 }, 1814 "end": { 1815 "line": 30, 1816 "column": 22, 1817 "program": "cast_expressions3.ets" 1818 } 1819 } 1820 }, 1821 "loc": { 1822 "start": { 1823 "line": 30, 1824 "column": 13, 1825 "program": "cast_expressions3.ets" 1826 }, 1827 "end": { 1828 "line": 30, 1829 "column": 16, 1830 "program": "cast_expressions3.ets" 1831 } 1832 } 1833 }, 1834 "loc": { 1835 "start": { 1836 "line": 30, 1837 "column": 7, 1838 "program": "cast_expressions3.ets" 1839 }, 1840 "end": { 1841 "line": 30, 1842 "column": 16, 1843 "program": "cast_expressions3.ets" 1844 } 1845 } 1846 } 1847 ], 1848 "kind": "let", 1849 "loc": { 1850 "start": { 1851 "line": 30, 1852 "column": 3, 1853 "program": "cast_expressions3.ets" 1854 }, 1855 "end": { 1856 "line": 30, 1857 "column": 22, 1858 "program": "cast_expressions3.ets" 1859 } 1860 } 1861 }, 1862 { 1863 "type": "VariableDeclaration", 1864 "declarations": [ 1865 { 1866 "type": "VariableDeclarator", 1867 "id": { 1868 "type": "Identifier", 1869 "name": "B_I", 1870 "decorators": [], 1871 "loc": { 1872 "start": { 1873 "line": 31, 1874 "column": 7, 1875 "program": "cast_expressions3.ets" 1876 }, 1877 "end": { 1878 "line": 31, 1879 "column": 10, 1880 "program": "cast_expressions3.ets" 1881 } 1882 } 1883 }, 1884 "init": { 1885 "type": "TSAsExpression", 1886 "expression": { 1887 "type": "Identifier", 1888 "name": "C_B", 1889 "decorators": [], 1890 "loc": { 1891 "start": { 1892 "line": 31, 1893 "column": 13, 1894 "program": "cast_expressions3.ets" 1895 }, 1896 "end": { 1897 "line": 31, 1898 "column": 16, 1899 "program": "cast_expressions3.ets" 1900 } 1901 } 1902 }, 1903 "typeAnnotation": { 1904 "type": "ETSTypeReference", 1905 "part": { 1906 "type": "ETSTypeReferencePart", 1907 "name": { 1908 "type": "Identifier", 1909 "name": "I", 1910 "decorators": [], 1911 "loc": { 1912 "start": { 1913 "line": 31, 1914 "column": 20, 1915 "program": "cast_expressions3.ets" 1916 }, 1917 "end": { 1918 "line": 31, 1919 "column": 21, 1920 "program": "cast_expressions3.ets" 1921 } 1922 } 1923 }, 1924 "loc": { 1925 "start": { 1926 "line": 31, 1927 "column": 20, 1928 "program": "cast_expressions3.ets" 1929 }, 1930 "end": { 1931 "line": 31, 1932 "column": 22, 1933 "program": "cast_expressions3.ets" 1934 } 1935 } 1936 }, 1937 "loc": { 1938 "start": { 1939 "line": 31, 1940 "column": 20, 1941 "program": "cast_expressions3.ets" 1942 }, 1943 "end": { 1944 "line": 31, 1945 "column": 22, 1946 "program": "cast_expressions3.ets" 1947 } 1948 } 1949 }, 1950 "loc": { 1951 "start": { 1952 "line": 31, 1953 "column": 13, 1954 "program": "cast_expressions3.ets" 1955 }, 1956 "end": { 1957 "line": 31, 1958 "column": 16, 1959 "program": "cast_expressions3.ets" 1960 } 1961 } 1962 }, 1963 "loc": { 1964 "start": { 1965 "line": 31, 1966 "column": 7, 1967 "program": "cast_expressions3.ets" 1968 }, 1969 "end": { 1970 "line": 31, 1971 "column": 16, 1972 "program": "cast_expressions3.ets" 1973 } 1974 } 1975 } 1976 ], 1977 "kind": "let", 1978 "loc": { 1979 "start": { 1980 "line": 31, 1981 "column": 3, 1982 "program": "cast_expressions3.ets" 1983 }, 1984 "end": { 1985 "line": 31, 1986 "column": 22, 1987 "program": "cast_expressions3.ets" 1988 } 1989 } 1990 } 1991 ], 1992 "loc": { 1993 "start": { 1994 "line": 21, 1995 "column": 42, 1996 "program": "cast_expressions3.ets" 1997 }, 1998 "end": { 1999 "line": 32, 2000 "column": 2, 2001 "program": "cast_expressions3.ets" 2002 } 2003 } 2004 }, 2005 "loc": { 2006 "start": { 2007 "line": 21, 2008 "column": 10, 2009 "program": "cast_expressions3.ets" 2010 }, 2011 "end": { 2012 "line": 32, 2013 "column": 2, 2014 "program": "cast_expressions3.ets" 2015 } 2016 } 2017 }, 2018 "loc": { 2019 "start": { 2020 "line": 21, 2021 "column": 10, 2022 "program": "cast_expressions3.ets" 2023 }, 2024 "end": { 2025 "line": 32, 2026 "column": 2, 2027 "program": "cast_expressions3.ets" 2028 } 2029 } 2030 }, 2031 "overloads": [], 2032 "decorators": [], 2033 "loc": { 2034 "start": { 2035 "line": 21, 2036 "column": 1, 2037 "program": "cast_expressions3.ets" 2038 }, 2039 "end": { 2040 "line": 32, 2041 "column": 2, 2042 "program": "cast_expressions3.ets" 2043 } 2044 } 2045 } 2046 ], 2047 "loc": { 2048 "start": { 2049 "line": 1, 2050 "column": 1, 2051 "program": "cast_expressions3.ets" 2052 }, 2053 "end": { 2054 "line": 1, 2055 "column": 1, 2056 "program": "cast_expressions3.ets" 2057 } 2058 } 2059 }, 2060 "loc": { 2061 "start": { 2062 "line": 1, 2063 "column": 1, 2064 "program": "cast_expressions3.ets" 2065 }, 2066 "end": { 2067 "line": 1, 2068 "column": 1, 2069 "program": "cast_expressions3.ets" 2070 } 2071 } 2072 } 2073 ], 2074 "loc": { 2075 "start": { 2076 "line": 1, 2077 "column": 1, 2078 "program": "cast_expressions3.ets" 2079 }, 2080 "end": { 2081 "line": 33, 2082 "column": 1, 2083 "program": "cast_expressions3.ets" 2084 } 2085 } 2086} 2087