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