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