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": "cast_const_union.ets" 16 }, 17 "end": { 18 "line": 1, 19 "column": 1, 20 "program": "cast_const_union.ets" 21 } 22 } 23 }, 24 "superClass": null, 25 "implements": [], 26 "body": [ 27 { 28 "type": "MethodDefinition", 29 "key": { 30 "type": "Identifier", 31 "name": "_$init$_", 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": "_$init$_", 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 { 80 "type": "ExpressionStatement", 81 "expression": { 82 "type": "AssignmentExpression", 83 "operator": "=", 84 "left": { 85 "type": "Identifier", 86 "name": "s", 87 "decorators": [], 88 "loc": { 89 "start": { 90 "line": 16, 91 "column": 5, 92 "program": "cast_const_union.ets" 93 }, 94 "end": { 95 "line": 16, 96 "column": 6, 97 "program": "cast_const_union.ets" 98 } 99 } 100 }, 101 "right": { 102 "type": "ETSNewClassInstanceExpression", 103 "typeReference": { 104 "type": "ETSTypeReference", 105 "part": { 106 "type": "ETSTypeReferencePart", 107 "name": { 108 "type": "Identifier", 109 "name": "Double", 110 "decorators": [], 111 "loc": { 112 "start": { 113 "line": 16, 114 "column": 22, 115 "program": "cast_const_union.ets" 116 }, 117 "end": { 118 "line": 16, 119 "column": 28, 120 "program": "cast_const_union.ets" 121 } 122 } 123 }, 124 "loc": { 125 "start": { 126 "line": 16, 127 "column": 22, 128 "program": "cast_const_union.ets" 129 }, 130 "end": { 131 "line": 16, 132 "column": 29, 133 "program": "cast_const_union.ets" 134 } 135 } 136 }, 137 "loc": { 138 "start": { 139 "line": 16, 140 "column": 22, 141 "program": "cast_const_union.ets" 142 }, 143 "end": { 144 "line": 16, 145 "column": 29, 146 "program": "cast_const_union.ets" 147 } 148 } 149 }, 150 "arguments": [ 151 { 152 "type": "NumberLiteral", 153 "value": -1.1e-20, 154 "loc": { 155 "start": { 156 "line": 16, 157 "column": 29, 158 "program": "cast_const_union.ets" 159 }, 160 "end": { 161 "line": 16, 162 "column": 37, 163 "program": "cast_const_union.ets" 164 } 165 } 166 } 167 ], 168 "loc": { 169 "start": { 170 "line": 16, 171 "column": 18, 172 "program": "cast_const_union.ets" 173 }, 174 "end": { 175 "line": 18, 176 "column": 9, 177 "program": "cast_const_union.ets" 178 } 179 } 180 }, 181 "loc": { 182 "start": { 183 "line": 16, 184 "column": 5, 185 "program": "cast_const_union.ets" 186 }, 187 "end": { 188 "line": 18, 189 "column": 9, 190 "program": "cast_const_union.ets" 191 } 192 } 193 }, 194 "loc": { 195 "start": { 196 "line": 16, 197 "column": 5, 198 "program": "cast_const_union.ets" 199 }, 200 "end": { 201 "line": 18, 202 "column": 9, 203 "program": "cast_const_union.ets" 204 } 205 } 206 } 207 ], 208 "loc": { 209 "start": { 210 "line": 1, 211 "column": 1, 212 "program": null 213 }, 214 "end": { 215 "line": 1, 216 "column": 1, 217 "program": null 218 } 219 } 220 }, 221 "loc": { 222 "start": { 223 "line": 1, 224 "column": 1, 225 "program": null 226 }, 227 "end": { 228 "line": 1, 229 "column": 1, 230 "program": null 231 } 232 } 233 }, 234 "loc": { 235 "start": { 236 "line": 1, 237 "column": 1, 238 "program": null 239 }, 240 "end": { 241 "line": 1, 242 "column": 1, 243 "program": null 244 } 245 } 246 }, 247 "overloads": [], 248 "decorators": [], 249 "loc": { 250 "start": { 251 "line": 1, 252 "column": 1, 253 "program": "cast_const_union.ets" 254 }, 255 "end": { 256 "line": 1, 257 "column": 1, 258 "program": "cast_const_union.ets" 259 } 260 } 261 }, 262 { 263 "type": "ClassProperty", 264 "key": { 265 "type": "Identifier", 266 "name": "s", 267 "decorators": [], 268 "loc": { 269 "start": { 270 "line": 16, 271 "column": 5, 272 "program": "cast_const_union.ets" 273 }, 274 "end": { 275 "line": 16, 276 "column": 6, 277 "program": "cast_const_union.ets" 278 } 279 } 280 }, 281 "accessibility": "public", 282 "static": true, 283 "readonly": false, 284 "declare": false, 285 "optional": false, 286 "computed": false, 287 "typeAnnotation": { 288 "type": "ETSTypeReference", 289 "part": { 290 "type": "ETSTypeReferencePart", 291 "name": { 292 "type": "Identifier", 293 "name": "Double", 294 "decorators": [], 295 "loc": { 296 "start": { 297 "line": 16, 298 "column": 9, 299 "program": "cast_const_union.ets" 300 }, 301 "end": { 302 "line": 16, 303 "column": 15, 304 "program": "cast_const_union.ets" 305 } 306 } 307 }, 308 "loc": { 309 "start": { 310 "line": 16, 311 "column": 9, 312 "program": "cast_const_union.ets" 313 }, 314 "end": { 315 "line": 16, 316 "column": 17, 317 "program": "cast_const_union.ets" 318 } 319 } 320 }, 321 "loc": { 322 "start": { 323 "line": 16, 324 "column": 9, 325 "program": "cast_const_union.ets" 326 }, 327 "end": { 328 "line": 16, 329 "column": 17, 330 "program": "cast_const_union.ets" 331 } 332 } 333 }, 334 "definite": false, 335 "decorators": [], 336 "loc": { 337 "start": { 338 "line": 16, 339 "column": 5, 340 "program": "cast_const_union.ets" 341 }, 342 "end": { 343 "line": 18, 344 "column": 9, 345 "program": "cast_const_union.ets" 346 } 347 } 348 }, 349 { 350 "type": "MethodDefinition", 351 "key": { 352 "type": "Identifier", 353 "name": "main", 354 "decorators": [], 355 "loc": { 356 "start": { 357 "line": 18, 358 "column": 10, 359 "program": "cast_const_union.ets" 360 }, 361 "end": { 362 "line": 18, 363 "column": 14, 364 "program": "cast_const_union.ets" 365 } 366 } 367 }, 368 "kind": "method", 369 "accessibility": "public", 370 "static": true, 371 "optional": false, 372 "computed": false, 373 "value": { 374 "type": "FunctionExpression", 375 "function": { 376 "type": "ScriptFunction", 377 "id": { 378 "type": "Identifier", 379 "name": "main", 380 "decorators": [], 381 "loc": { 382 "start": { 383 "line": 18, 384 "column": 10, 385 "program": "cast_const_union.ets" 386 }, 387 "end": { 388 "line": 18, 389 "column": 14, 390 "program": "cast_const_union.ets" 391 } 392 } 393 }, 394 "generator": false, 395 "async": false, 396 "expression": false, 397 "params": [], 398 "body": { 399 "type": "BlockStatement", 400 "statements": [ 401 { 402 "type": "VariableDeclaration", 403 "declarations": [ 404 { 405 "type": "VariableDeclarator", 406 "id": { 407 "type": "Identifier", 408 "name": "c", 409 "typeAnnotation": { 410 "type": "ETSUnionType", 411 "types": [ 412 { 413 "type": "ETSTypeReference", 414 "part": { 415 "type": "ETSTypeReferencePart", 416 "name": { 417 "type": "Identifier", 418 "name": "Float", 419 "decorators": [], 420 "loc": { 421 "start": { 422 "line": 19, 423 "column": 15, 424 "program": "cast_const_union.ets" 425 }, 426 "end": { 427 "line": 19, 428 "column": 20, 429 "program": "cast_const_union.ets" 430 } 431 } 432 }, 433 "loc": { 434 "start": { 435 "line": 19, 436 "column": 15, 437 "program": "cast_const_union.ets" 438 }, 439 "end": { 440 "line": 19, 441 "column": 22, 442 "program": "cast_const_union.ets" 443 } 444 } 445 }, 446 "loc": { 447 "start": { 448 "line": 19, 449 "column": 15, 450 "program": "cast_const_union.ets" 451 }, 452 "end": { 453 "line": 19, 454 "column": 22, 455 "program": "cast_const_union.ets" 456 } 457 } 458 }, 459 { 460 "type": "ETSTypeReference", 461 "part": { 462 "type": "ETSTypeReferencePart", 463 "name": { 464 "type": "Identifier", 465 "name": "Double", 466 "decorators": [], 467 "loc": { 468 "start": { 469 "line": 19, 470 "column": 23, 471 "program": "cast_const_union.ets" 472 }, 473 "end": { 474 "line": 19, 475 "column": 29, 476 "program": "cast_const_union.ets" 477 } 478 } 479 }, 480 "loc": { 481 "start": { 482 "line": 19, 483 "column": 23, 484 "program": "cast_const_union.ets" 485 }, 486 "end": { 487 "line": 19, 488 "column": 31, 489 "program": "cast_const_union.ets" 490 } 491 } 492 }, 493 "loc": { 494 "start": { 495 "line": 19, 496 "column": 23, 497 "program": "cast_const_union.ets" 498 }, 499 "end": { 500 "line": 19, 501 "column": 31, 502 "program": "cast_const_union.ets" 503 } 504 } 505 }, 506 { 507 "type": "ETSTypeReference", 508 "part": { 509 "type": "ETSTypeReferencePart", 510 "name": { 511 "type": "Identifier", 512 "name": "Number", 513 "decorators": [], 514 "loc": { 515 "start": { 516 "line": 19, 517 "column": 32, 518 "program": "cast_const_union.ets" 519 }, 520 "end": { 521 "line": 19, 522 "column": 38, 523 "program": "cast_const_union.ets" 524 } 525 } 526 }, 527 "loc": { 528 "start": { 529 "line": 19, 530 "column": 32, 531 "program": "cast_const_union.ets" 532 }, 533 "end": { 534 "line": 19, 535 "column": 40, 536 "program": "cast_const_union.ets" 537 } 538 } 539 }, 540 "loc": { 541 "start": { 542 "line": 19, 543 "column": 32, 544 "program": "cast_const_union.ets" 545 }, 546 "end": { 547 "line": 19, 548 "column": 40, 549 "program": "cast_const_union.ets" 550 } 551 } 552 } 553 ], 554 "loc": { 555 "start": { 556 "line": 19, 557 "column": 15, 558 "program": "cast_const_union.ets" 559 }, 560 "end": { 561 "line": 19, 562 "column": 40, 563 "program": "cast_const_union.ets" 564 } 565 } 566 }, 567 "decorators": [], 568 "loc": { 569 "start": { 570 "line": 19, 571 "column": 11, 572 "program": "cast_const_union.ets" 573 }, 574 "end": { 575 "line": 19, 576 "column": 12, 577 "program": "cast_const_union.ets" 578 } 579 } 580 }, 581 "init": { 582 "type": "Identifier", 583 "name": "s", 584 "decorators": [], 585 "loc": { 586 "start": { 587 "line": 19, 588 "column": 41, 589 "program": "cast_const_union.ets" 590 }, 591 "end": { 592 "line": 19, 593 "column": 42, 594 "program": "cast_const_union.ets" 595 } 596 } 597 }, 598 "loc": { 599 "start": { 600 "line": 19, 601 "column": 11, 602 "program": "cast_const_union.ets" 603 }, 604 "end": { 605 "line": 19, 606 "column": 42, 607 "program": "cast_const_union.ets" 608 } 609 } 610 } 611 ], 612 "kind": "const", 613 "loc": { 614 "start": { 615 "line": 19, 616 "column": 5, 617 "program": "cast_const_union.ets" 618 }, 619 "end": { 620 "line": 19, 621 "column": 42, 622 "program": "cast_const_union.ets" 623 } 624 } 625 }, 626 { 627 "type": "ExpressionStatement", 628 "expression": { 629 "type": "CallExpression", 630 "callee": { 631 "type": "Identifier", 632 "name": "assertEQ", 633 "decorators": [], 634 "loc": { 635 "start": { 636 "line": 20, 637 "column": 5, 638 "program": "cast_const_union.ets" 639 }, 640 "end": { 641 "line": 20, 642 "column": 13, 643 "program": "cast_const_union.ets" 644 } 645 } 646 }, 647 "arguments": [ 648 { 649 "type": "TSAsExpression", 650 "expression": { 651 "type": "Identifier", 652 "name": "c", 653 "decorators": [], 654 "loc": { 655 "start": { 656 "line": 20, 657 "column": 14, 658 "program": "cast_const_union.ets" 659 }, 660 "end": { 661 "line": 20, 662 "column": 15, 663 "program": "cast_const_union.ets" 664 } 665 } 666 }, 667 "typeAnnotation": { 668 "type": "ETSTypeReference", 669 "part": { 670 "type": "ETSTypeReferencePart", 671 "name": { 672 "type": "Identifier", 673 "name": "Double", 674 "decorators": [], 675 "loc": { 676 "start": { 677 "line": 20, 678 "column": 19, 679 "program": "cast_const_union.ets" 680 }, 681 "end": { 682 "line": 20, 683 "column": 25, 684 "program": "cast_const_union.ets" 685 } 686 } 687 }, 688 "loc": { 689 "start": { 690 "line": 20, 691 "column": 19, 692 "program": "cast_const_union.ets" 693 }, 694 "end": { 695 "line": 20, 696 "column": 26, 697 "program": "cast_const_union.ets" 698 } 699 } 700 }, 701 "loc": { 702 "start": { 703 "line": 20, 704 "column": 19, 705 "program": "cast_const_union.ets" 706 }, 707 "end": { 708 "line": 20, 709 "column": 26, 710 "program": "cast_const_union.ets" 711 } 712 } 713 }, 714 "loc": { 715 "start": { 716 "line": 20, 717 "column": 14, 718 "program": "cast_const_union.ets" 719 }, 720 "end": { 721 "line": 20, 722 "column": 15, 723 "program": "cast_const_union.ets" 724 } 725 } 726 }, 727 { 728 "type": "NumberLiteral", 729 "value": -1.1e-20, 730 "loc": { 731 "start": { 732 "line": 20, 733 "column": 27, 734 "program": "cast_const_union.ets" 735 }, 736 "end": { 737 "line": 20, 738 "column": 35, 739 "program": "cast_const_union.ets" 740 } 741 } 742 } 743 ], 744 "optional": false, 745 "loc": { 746 "start": { 747 "line": 20, 748 "column": 5, 749 "program": "cast_const_union.ets" 750 }, 751 "end": { 752 "line": 20, 753 "column": 36, 754 "program": "cast_const_union.ets" 755 } 756 } 757 }, 758 "loc": { 759 "start": { 760 "line": 20, 761 "column": 5, 762 "program": "cast_const_union.ets" 763 }, 764 "end": { 765 "line": 20, 766 "column": 37, 767 "program": "cast_const_union.ets" 768 } 769 } 770 } 771 ], 772 "loc": { 773 "start": { 774 "line": 18, 775 "column": 17, 776 "program": "cast_const_union.ets" 777 }, 778 "end": { 779 "line": 21, 780 "column": 2, 781 "program": "cast_const_union.ets" 782 } 783 } 784 }, 785 "loc": { 786 "start": { 787 "line": 18, 788 "column": 10, 789 "program": "cast_const_union.ets" 790 }, 791 "end": { 792 "line": 21, 793 "column": 2, 794 "program": "cast_const_union.ets" 795 } 796 } 797 }, 798 "loc": { 799 "start": { 800 "line": 18, 801 "column": 10, 802 "program": "cast_const_union.ets" 803 }, 804 "end": { 805 "line": 21, 806 "column": 2, 807 "program": "cast_const_union.ets" 808 } 809 } 810 }, 811 "overloads": [], 812 "decorators": [], 813 "loc": { 814 "start": { 815 "line": 18, 816 "column": 1, 817 "program": "cast_const_union.ets" 818 }, 819 "end": { 820 "line": 21, 821 "column": 2, 822 "program": "cast_const_union.ets" 823 } 824 } 825 } 826 ], 827 "loc": { 828 "start": { 829 "line": 1, 830 "column": 1, 831 "program": "cast_const_union.ets" 832 }, 833 "end": { 834 "line": 1, 835 "column": 1, 836 "program": "cast_const_union.ets" 837 } 838 } 839 }, 840 "loc": { 841 "start": { 842 "line": 1, 843 "column": 1, 844 "program": "cast_const_union.ets" 845 }, 846 "end": { 847 "line": 1, 848 "column": 1, 849 "program": "cast_const_union.ets" 850 } 851 } 852 } 853 ], 854 "loc": { 855 "start": { 856 "line": 1, 857 "column": 1, 858 "program": "cast_const_union.ets" 859 }, 860 "end": { 861 "line": 21, 862 "column": 2, 863 "program": "cast_const_union.ets" 864 } 865 } 866} 867