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