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