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