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