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