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": "assignNullableToNonNullable.ets" 16 }, 17 "end": { 18 "line": 16, 19 "column": 8, 20 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 38 }, 39 "end": { 40 "line": 16, 41 "column": 10, 42 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 63 }, 64 "end": { 65 "line": 16, 66 "column": 10, 67 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 83 }, 84 "end": { 85 "line": 16, 86 "column": 10, 87 "program": "assignNullableToNonNullable.ets" 88 } 89 } 90 }, 91 "loc": { 92 "start": { 93 "line": 16, 94 "column": 10, 95 "program": "assignNullableToNonNullable.ets" 96 }, 97 "end": { 98 "line": 16, 99 "column": 10, 100 "program": "assignNullableToNonNullable.ets" 101 } 102 } 103 }, 104 "loc": { 105 "start": { 106 "line": 16, 107 "column": 10, 108 "program": "assignNullableToNonNullable.ets" 109 }, 110 "end": { 111 "line": 16, 112 "column": 10, 113 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 138 }, 139 "end": { 140 "line": 18, 141 "column": 9, 142 "program": "assignNullableToNonNullable.ets" 143 } 144 } 145 }, 146 "loc": { 147 "start": { 148 "line": 16, 149 "column": 1, 150 "program": "assignNullableToNonNullable.ets" 151 }, 152 "end": { 153 "line": 18, 154 "column": 9, 155 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 171 }, 172 "end": { 173 "line": 1, 174 "column": 1, 175 "program": "assignNullableToNonNullable.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": "assignNullableToNonNullable.ets" 280 }, 281 "end": { 282 "line": 1, 283 "column": 1, 284 "program": "assignNullableToNonNullable.ets" 285 } 286 } 287 }, 288 { 289 "type": "MethodDefinition", 290 "key": { 291 "type": "Identifier", 292 "name": "main", 293 "decorators": [], 294 "loc": { 295 "start": { 296 "line": 18, 297 "column": 10, 298 "program": "assignNullableToNonNullable.ets" 299 }, 300 "end": { 301 "line": 18, 302 "column": 14, 303 "program": "assignNullableToNonNullable.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": "main", 319 "decorators": [], 320 "loc": { 321 "start": { 322 "line": 18, 323 "column": 10, 324 "program": "assignNullableToNonNullable.ets" 325 }, 326 "end": { 327 "line": 18, 328 "column": 14, 329 "program": "assignNullableToNonNullable.ets" 330 } 331 } 332 }, 333 "generator": false, 334 "async": false, 335 "expression": false, 336 "params": [], 337 "returnType": { 338 "type": "ETSPrimitiveType", 339 "loc": { 340 "start": { 341 "line": 18, 342 "column": 18, 343 "program": "assignNullableToNonNullable.ets" 344 }, 345 "end": { 346 "line": 18, 347 "column": 22, 348 "program": "assignNullableToNonNullable.ets" 349 } 350 } 351 }, 352 "body": { 353 "type": "BlockStatement", 354 "statements": [ 355 { 356 "type": "VariableDeclaration", 357 "declarations": [ 358 { 359 "type": "VariableDeclarator", 360 "id": { 361 "type": "Identifier", 362 "name": "x", 363 "typeAnnotation": { 364 "type": "ETSTypeReference", 365 "part": { 366 "type": "ETSTypeReferencePart", 367 "name": { 368 "type": "Identifier", 369 "name": "Object", 370 "decorators": [], 371 "loc": { 372 "start": { 373 "line": 19, 374 "column": 13, 375 "program": "assignNullableToNonNullable.ets" 376 }, 377 "end": { 378 "line": 19, 379 "column": 19, 380 "program": "assignNullableToNonNullable.ets" 381 } 382 } 383 }, 384 "loc": { 385 "start": { 386 "line": 19, 387 "column": 13, 388 "program": "assignNullableToNonNullable.ets" 389 }, 390 "end": { 391 "line": 19, 392 "column": 20, 393 "program": "assignNullableToNonNullable.ets" 394 } 395 } 396 }, 397 "loc": { 398 "start": { 399 "line": 19, 400 "column": 13, 401 "program": "assignNullableToNonNullable.ets" 402 }, 403 "end": { 404 "line": 19, 405 "column": 20, 406 "program": "assignNullableToNonNullable.ets" 407 } 408 } 409 }, 410 "decorators": [], 411 "loc": { 412 "start": { 413 "line": 19, 414 "column": 9, 415 "program": "assignNullableToNonNullable.ets" 416 }, 417 "end": { 418 "line": 19, 419 "column": 10, 420 "program": "assignNullableToNonNullable.ets" 421 } 422 } 423 }, 424 "init": null, 425 "loc": { 426 "start": { 427 "line": 19, 428 "column": 9, 429 "program": "assignNullableToNonNullable.ets" 430 }, 431 "end": { 432 "line": 19, 433 "column": 10, 434 "program": "assignNullableToNonNullable.ets" 435 } 436 } 437 } 438 ], 439 "kind": "let", 440 "loc": { 441 "start": { 442 "line": 19, 443 "column": 5, 444 "program": "assignNullableToNonNullable.ets" 445 }, 446 "end": { 447 "line": 19, 448 "column": 20, 449 "program": "assignNullableToNonNullable.ets" 450 } 451 } 452 }, 453 { 454 "type": "VariableDeclaration", 455 "declarations": [ 456 { 457 "type": "VariableDeclarator", 458 "id": { 459 "type": "Identifier", 460 "name": "an", 461 "typeAnnotation": { 462 "type": "ETSUnionType", 463 "types": [ 464 { 465 "type": "ETSTypeReference", 466 "part": { 467 "type": "ETSTypeReferencePart", 468 "name": { 469 "type": "Identifier", 470 "name": "A", 471 "decorators": [], 472 "loc": { 473 "start": { 474 "line": 20, 475 "column": 14, 476 "program": "assignNullableToNonNullable.ets" 477 }, 478 "end": { 479 "line": 20, 480 "column": 15, 481 "program": "assignNullableToNonNullable.ets" 482 } 483 } 484 }, 485 "loc": { 486 "start": { 487 "line": 20, 488 "column": 14, 489 "program": "assignNullableToNonNullable.ets" 490 }, 491 "end": { 492 "line": 20, 493 "column": 17, 494 "program": "assignNullableToNonNullable.ets" 495 } 496 } 497 }, 498 "loc": { 499 "start": { 500 "line": 20, 501 "column": 14, 502 "program": "assignNullableToNonNullable.ets" 503 }, 504 "end": { 505 "line": 20, 506 "column": 17, 507 "program": "assignNullableToNonNullable.ets" 508 } 509 } 510 }, 511 { 512 "type": "ETSNullType", 513 "loc": { 514 "start": { 515 "line": 20, 516 "column": 18, 517 "program": "assignNullableToNonNullable.ets" 518 }, 519 "end": { 520 "line": 20, 521 "column": 22, 522 "program": "assignNullableToNonNullable.ets" 523 } 524 } 525 } 526 ], 527 "loc": { 528 "start": { 529 "line": 20, 530 "column": 14, 531 "program": "assignNullableToNonNullable.ets" 532 }, 533 "end": { 534 "line": 20, 535 "column": 22, 536 "program": "assignNullableToNonNullable.ets" 537 } 538 } 539 }, 540 "decorators": [], 541 "loc": { 542 "start": { 543 "line": 20, 544 "column": 9, 545 "program": "assignNullableToNonNullable.ets" 546 }, 547 "end": { 548 "line": 20, 549 "column": 11, 550 "program": "assignNullableToNonNullable.ets" 551 } 552 } 553 }, 554 "init": { 555 "type": "ETSNewClassInstanceExpression", 556 "typeReference": { 557 "type": "ETSTypeReference", 558 "part": { 559 "type": "ETSTypeReferencePart", 560 "name": { 561 "type": "Identifier", 562 "name": "A", 563 "decorators": [], 564 "loc": { 565 "start": { 566 "line": 20, 567 "column": 29, 568 "program": "assignNullableToNonNullable.ets" 569 }, 570 "end": { 571 "line": 20, 572 "column": 30, 573 "program": "assignNullableToNonNullable.ets" 574 } 575 } 576 }, 577 "loc": { 578 "start": { 579 "line": 20, 580 "column": 29, 581 "program": "assignNullableToNonNullable.ets" 582 }, 583 "end": { 584 "line": 20, 585 "column": 31, 586 "program": "assignNullableToNonNullable.ets" 587 } 588 } 589 }, 590 "loc": { 591 "start": { 592 "line": 20, 593 "column": 29, 594 "program": "assignNullableToNonNullable.ets" 595 }, 596 "end": { 597 "line": 20, 598 "column": 31, 599 "program": "assignNullableToNonNullable.ets" 600 } 601 } 602 }, 603 "arguments": [], 604 "loc": { 605 "start": { 606 "line": 20, 607 "column": 25, 608 "program": "assignNullableToNonNullable.ets" 609 }, 610 "end": { 611 "line": 20, 612 "column": 33, 613 "program": "assignNullableToNonNullable.ets" 614 } 615 } 616 }, 617 "loc": { 618 "start": { 619 "line": 20, 620 "column": 9, 621 "program": "assignNullableToNonNullable.ets" 622 }, 623 "end": { 624 "line": 20, 625 "column": 33, 626 "program": "assignNullableToNonNullable.ets" 627 } 628 } 629 } 630 ], 631 "kind": "let", 632 "loc": { 633 "start": { 634 "line": 20, 635 "column": 5, 636 "program": "assignNullableToNonNullable.ets" 637 }, 638 "end": { 639 "line": 20, 640 "column": 33, 641 "program": "assignNullableToNonNullable.ets" 642 } 643 } 644 }, 645 { 646 "type": "ExpressionStatement", 647 "expression": { 648 "type": "AssignmentExpression", 649 "operator": "=", 650 "left": { 651 "type": "Identifier", 652 "name": "x", 653 "decorators": [], 654 "loc": { 655 "start": { 656 "line": 22, 657 "column": 5, 658 "program": "assignNullableToNonNullable.ets" 659 }, 660 "end": { 661 "line": 22, 662 "column": 6, 663 "program": "assignNullableToNonNullable.ets" 664 } 665 } 666 }, 667 "right": { 668 "type": "Identifier", 669 "name": "an", 670 "decorators": [], 671 "loc": { 672 "start": { 673 "line": 22, 674 "column": 9, 675 "program": "assignNullableToNonNullable.ets" 676 }, 677 "end": { 678 "line": 22, 679 "column": 11, 680 "program": "assignNullableToNonNullable.ets" 681 } 682 } 683 }, 684 "loc": { 685 "start": { 686 "line": 22, 687 "column": 5, 688 "program": "assignNullableToNonNullable.ets" 689 }, 690 "end": { 691 "line": 22, 692 "column": 11, 693 "program": "assignNullableToNonNullable.ets" 694 } 695 } 696 }, 697 "loc": { 698 "start": { 699 "line": 22, 700 "column": 5, 701 "program": "assignNullableToNonNullable.ets" 702 }, 703 "end": { 704 "line": 22, 705 "column": 12, 706 "program": "assignNullableToNonNullable.ets" 707 } 708 } 709 } 710 ], 711 "loc": { 712 "start": { 713 "line": 18, 714 "column": 23, 715 "program": "assignNullableToNonNullable.ets" 716 }, 717 "end": { 718 "line": 23, 719 "column": 2, 720 "program": "assignNullableToNonNullable.ets" 721 } 722 } 723 }, 724 "loc": { 725 "start": { 726 "line": 18, 727 "column": 10, 728 "program": "assignNullableToNonNullable.ets" 729 }, 730 "end": { 731 "line": 23, 732 "column": 2, 733 "program": "assignNullableToNonNullable.ets" 734 } 735 } 736 }, 737 "loc": { 738 "start": { 739 "line": 18, 740 "column": 10, 741 "program": "assignNullableToNonNullable.ets" 742 }, 743 "end": { 744 "line": 23, 745 "column": 2, 746 "program": "assignNullableToNonNullable.ets" 747 } 748 } 749 }, 750 "overloads": [], 751 "decorators": [], 752 "loc": { 753 "start": { 754 "line": 18, 755 "column": 1, 756 "program": "assignNullableToNonNullable.ets" 757 }, 758 "end": { 759 "line": 23, 760 "column": 2, 761 "program": "assignNullableToNonNullable.ets" 762 } 763 } 764 } 765 ], 766 "loc": { 767 "start": { 768 "line": 1, 769 "column": 1, 770 "program": "assignNullableToNonNullable.ets" 771 }, 772 "end": { 773 "line": 1, 774 "column": 1, 775 "program": "assignNullableToNonNullable.ets" 776 } 777 } 778 }, 779 "loc": { 780 "start": { 781 "line": 1, 782 "column": 1, 783 "program": "assignNullableToNonNullable.ets" 784 }, 785 "end": { 786 "line": 1, 787 "column": 1, 788 "program": "assignNullableToNonNullable.ets" 789 } 790 } 791 } 792 ], 793 "loc": { 794 "start": { 795 "line": 1, 796 "column": 1, 797 "program": "assignNullableToNonNullable.ets" 798 }, 799 "end": { 800 "line": 24, 801 "column": 1, 802 "program": "assignNullableToNonNullable.ets" 803 } 804 } 805} 806