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": "lambdaAsFunctionParam.ets" 16 }, 17 "end": { 18 "line": 16, 19 "column": 8, 20 "program": "lambdaAsFunctionParam.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": 9, 37 "program": "lambdaAsFunctionParam.ets" 38 }, 39 "end": { 40 "line": 16, 41 "column": 10, 42 "program": "lambdaAsFunctionParam.ets" 43 } 44 } 45 }, 46 "loc": { 47 "start": { 48 "line": 16, 49 "column": 9, 50 "program": "lambdaAsFunctionParam.ets" 51 }, 52 "end": { 53 "line": 16, 54 "column": 11, 55 "program": "lambdaAsFunctionParam.ets" 56 } 57 } 58 } 59 ], 60 "loc": { 61 "start": { 62 "line": 16, 63 "column": 8, 64 "program": "lambdaAsFunctionParam.ets" 65 }, 66 "end": { 67 "line": 16, 68 "column": 11, 69 "program": "lambdaAsFunctionParam.ets" 70 } 71 } 72 }, 73 "superClass": null, 74 "implements": [], 75 "body": [ 76 { 77 "type": "MethodDefinition", 78 "key": { 79 "type": "Identifier", 80 "name": "foo", 81 "decorators": [], 82 "loc": { 83 "start": { 84 "line": 17, 85 "column": 3, 86 "program": "lambdaAsFunctionParam.ets" 87 }, 88 "end": { 89 "line": 17, 90 "column": 6, 91 "program": "lambdaAsFunctionParam.ets" 92 } 93 } 94 }, 95 "kind": "method", 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": "foo", 107 "decorators": [], 108 "loc": { 109 "start": { 110 "line": 17, 111 "column": 3, 112 "program": "lambdaAsFunctionParam.ets" 113 }, 114 "end": { 115 "line": 17, 116 "column": 6, 117 "program": "lambdaAsFunctionParam.ets" 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": "x", 130 "typeAnnotation": { 131 "type": "ETSFunctionType", 132 "params": [ 133 { 134 "type": "ETSParameterExpression", 135 "name": { 136 "type": "Identifier", 137 "name": "a", 138 "typeAnnotation": { 139 "type": "ETSTypeReference", 140 "part": { 141 "type": "ETSTypeReferencePart", 142 "name": { 143 "type": "Identifier", 144 "name": "T", 145 "decorators": [], 146 "loc": { 147 "start": { 148 "line": 17, 149 "column": 15, 150 "program": "lambdaAsFunctionParam.ets" 151 }, 152 "end": { 153 "line": 17, 154 "column": 16, 155 "program": "lambdaAsFunctionParam.ets" 156 } 157 } 158 }, 159 "loc": { 160 "start": { 161 "line": 17, 162 "column": 15, 163 "program": "lambdaAsFunctionParam.ets" 164 }, 165 "end": { 166 "line": 17, 167 "column": 17, 168 "program": "lambdaAsFunctionParam.ets" 169 } 170 } 171 }, 172 "loc": { 173 "start": { 174 "line": 17, 175 "column": 15, 176 "program": "lambdaAsFunctionParam.ets" 177 }, 178 "end": { 179 "line": 17, 180 "column": 17, 181 "program": "lambdaAsFunctionParam.ets" 182 } 183 } 184 }, 185 "decorators": [], 186 "loc": { 187 "start": { 188 "line": 17, 189 "column": 12, 190 "program": "lambdaAsFunctionParam.ets" 191 }, 192 "end": { 193 "line": 17, 194 "column": 17, 195 "program": "lambdaAsFunctionParam.ets" 196 } 197 } 198 }, 199 "loc": { 200 "start": { 201 "line": 17, 202 "column": 12, 203 "program": "lambdaAsFunctionParam.ets" 204 }, 205 "end": { 206 "line": 17, 207 "column": 17, 208 "program": "lambdaAsFunctionParam.ets" 209 } 210 } 211 }, 212 { 213 "type": "ETSParameterExpression", 214 "name": { 215 "type": "Identifier", 216 "name": "b", 217 "typeAnnotation": { 218 "type": "ETSTypeReference", 219 "part": { 220 "type": "ETSTypeReferencePart", 221 "name": { 222 "type": "Identifier", 223 "name": "T", 224 "decorators": [], 225 "loc": { 226 "start": { 227 "line": 17, 228 "column": 21, 229 "program": "lambdaAsFunctionParam.ets" 230 }, 231 "end": { 232 "line": 17, 233 "column": 22, 234 "program": "lambdaAsFunctionParam.ets" 235 } 236 } 237 }, 238 "loc": { 239 "start": { 240 "line": 17, 241 "column": 21, 242 "program": "lambdaAsFunctionParam.ets" 243 }, 244 "end": { 245 "line": 17, 246 "column": 23, 247 "program": "lambdaAsFunctionParam.ets" 248 } 249 } 250 }, 251 "loc": { 252 "start": { 253 "line": 17, 254 "column": 21, 255 "program": "lambdaAsFunctionParam.ets" 256 }, 257 "end": { 258 "line": 17, 259 "column": 23, 260 "program": "lambdaAsFunctionParam.ets" 261 } 262 } 263 }, 264 "decorators": [], 265 "loc": { 266 "start": { 267 "line": 17, 268 "column": 18, 269 "program": "lambdaAsFunctionParam.ets" 270 }, 271 "end": { 272 "line": 17, 273 "column": 23, 274 "program": "lambdaAsFunctionParam.ets" 275 } 276 } 277 }, 278 "loc": { 279 "start": { 280 "line": 17, 281 "column": 18, 282 "program": "lambdaAsFunctionParam.ets" 283 }, 284 "end": { 285 "line": 17, 286 "column": 23, 287 "program": "lambdaAsFunctionParam.ets" 288 } 289 } 290 } 291 ], 292 "returnType": { 293 "type": "ETSTypeReference", 294 "part": { 295 "type": "ETSTypeReferencePart", 296 "name": { 297 "type": "Identifier", 298 "name": "number", 299 "decorators": [], 300 "loc": { 301 "start": { 302 "line": 17, 303 "column": 27, 304 "program": "lambdaAsFunctionParam.ets" 305 }, 306 "end": { 307 "line": 17, 308 "column": 33, 309 "program": "lambdaAsFunctionParam.ets" 310 } 311 } 312 }, 313 "loc": { 314 "start": { 315 "line": 17, 316 "column": 27, 317 "program": "lambdaAsFunctionParam.ets" 318 }, 319 "end": { 320 "line": 17, 321 "column": 34, 322 "program": "lambdaAsFunctionParam.ets" 323 } 324 } 325 }, 326 "loc": { 327 "start": { 328 "line": 17, 329 "column": 27, 330 "program": "lambdaAsFunctionParam.ets" 331 }, 332 "end": { 333 "line": 17, 334 "column": 34, 335 "program": "lambdaAsFunctionParam.ets" 336 } 337 } 338 }, 339 "loc": { 340 "start": { 341 "line": 17, 342 "column": 11, 343 "program": "lambdaAsFunctionParam.ets" 344 }, 345 "end": { 346 "line": 17, 347 "column": 34, 348 "program": "lambdaAsFunctionParam.ets" 349 } 350 } 351 }, 352 "decorators": [], 353 "loc": { 354 "start": { 355 "line": 17, 356 "column": 7, 357 "program": "lambdaAsFunctionParam.ets" 358 }, 359 "end": { 360 "line": 17, 361 "column": 34, 362 "program": "lambdaAsFunctionParam.ets" 363 } 364 } 365 }, 366 "loc": { 367 "start": { 368 "line": 17, 369 "column": 7, 370 "program": "lambdaAsFunctionParam.ets" 371 }, 372 "end": { 373 "line": 17, 374 "column": 34, 375 "program": "lambdaAsFunctionParam.ets" 376 } 377 } 378 } 379 ], 380 "returnType": { 381 "type": "TSThisType", 382 "loc": { 383 "start": { 384 "line": 17, 385 "column": 36, 386 "program": "lambdaAsFunctionParam.ets" 387 }, 388 "end": { 389 "line": 17, 390 "column": 40, 391 "program": "lambdaAsFunctionParam.ets" 392 } 393 } 394 }, 395 "body": { 396 "type": "BlockStatement", 397 "statements": [ 398 { 399 "type": "ReturnStatement", 400 "argument": { 401 "type": "ThisExpression", 402 "loc": { 403 "start": { 404 "line": 18, 405 "column": 12, 406 "program": "lambdaAsFunctionParam.ets" 407 }, 408 "end": { 409 "line": 18, 410 "column": 16, 411 "program": "lambdaAsFunctionParam.ets" 412 } 413 } 414 }, 415 "loc": { 416 "start": { 417 "line": 18, 418 "column": 5, 419 "program": "lambdaAsFunctionParam.ets" 420 }, 421 "end": { 422 "line": 18, 423 "column": 16, 424 "program": "lambdaAsFunctionParam.ets" 425 } 426 } 427 } 428 ], 429 "loc": { 430 "start": { 431 "line": 17, 432 "column": 41, 433 "program": "lambdaAsFunctionParam.ets" 434 }, 435 "end": { 436 "line": 19, 437 "column": 4, 438 "program": "lambdaAsFunctionParam.ets" 439 } 440 } 441 }, 442 "annotations": [ 443 { 444 "expr_": { 445 "type": "ETSTypeReference", 446 "part": { 447 "type": "ETSTypeReferencePart", 448 "name": { 449 "type": "TSQualifiedName", 450 "left": { 451 "type": "Identifier", 452 "name": "functions", 453 "decorators": [], 454 "loc": { 455 "start": { 456 "line": 17, 457 "column": 6, 458 "program": "lambdaAsFunctionParam.ets" 459 }, 460 "end": { 461 "line": 19, 462 "column": 4, 463 "program": "lambdaAsFunctionParam.ets" 464 } 465 } 466 }, 467 "right": { 468 "type": "Identifier", 469 "name": "OptionalParametersAnnotation", 470 "decorators": [], 471 "loc": { 472 "start": { 473 "line": 17, 474 "column": 6, 475 "program": "lambdaAsFunctionParam.ets" 476 }, 477 "end": { 478 "line": 19, 479 "column": 4, 480 "program": "lambdaAsFunctionParam.ets" 481 } 482 } 483 }, 484 "loc": { 485 "start": { 486 "line": 17, 487 "column": 6, 488 "program": "lambdaAsFunctionParam.ets" 489 }, 490 "end": { 491 "line": 19, 492 "column": 4, 493 "program": "lambdaAsFunctionParam.ets" 494 } 495 } 496 }, 497 "loc": { 498 "start": { 499 "line": 17, 500 "column": 6, 501 "program": "lambdaAsFunctionParam.ets" 502 }, 503 "end": { 504 "line": 19, 505 "column": 4, 506 "program": "lambdaAsFunctionParam.ets" 507 } 508 } 509 }, 510 "loc": { 511 "start": { 512 "line": 17, 513 "column": 6, 514 "program": "lambdaAsFunctionParam.ets" 515 }, 516 "end": { 517 "line": 19, 518 "column": 4, 519 "program": "lambdaAsFunctionParam.ets" 520 } 521 } 522 }, 523 "properties": [ 524 { 525 "type": "ClassProperty", 526 "key": { 527 "type": "Identifier", 528 "name": "minArgCount", 529 "decorators": [], 530 "loc": { 531 "start": { 532 "line": 17, 533 "column": 6, 534 "program": "lambdaAsFunctionParam.ets" 535 }, 536 "end": { 537 "line": 19, 538 "column": 4, 539 "program": "lambdaAsFunctionParam.ets" 540 } 541 } 542 }, 543 "value": { 544 "type": "NumberLiteral", 545 "value": 0, 546 "loc": { 547 "start": { 548 "line": 17, 549 "column": 6, 550 "program": "lambdaAsFunctionParam.ets" 551 }, 552 "end": { 553 "line": 19, 554 "column": 4, 555 "program": "lambdaAsFunctionParam.ets" 556 } 557 } 558 }, 559 "static": false, 560 "readonly": false, 561 "declare": false, 562 "optional": false, 563 "computed": false, 564 "definite": false, 565 "decorators": [], 566 "loc": { 567 "start": { 568 "line": 17, 569 "column": 6, 570 "program": "lambdaAsFunctionParam.ets" 571 }, 572 "end": { 573 "line": 19, 574 "column": 4, 575 "program": "lambdaAsFunctionParam.ets" 576 } 577 } 578 } 579 ], 580 "loc": { 581 "start": { 582 "line": 17, 583 "column": 6, 584 "program": "lambdaAsFunctionParam.ets" 585 }, 586 "end": { 587 "line": 19, 588 "column": 4, 589 "program": "lambdaAsFunctionParam.ets" 590 } 591 } 592 } 593 ], 594 "loc": { 595 "start": { 596 "line": 17, 597 "column": 6, 598 "program": "lambdaAsFunctionParam.ets" 599 }, 600 "end": { 601 "line": 19, 602 "column": 4, 603 "program": "lambdaAsFunctionParam.ets" 604 } 605 } 606 }, 607 "loc": { 608 "start": { 609 "line": 17, 610 "column": 6, 611 "program": "lambdaAsFunctionParam.ets" 612 }, 613 "end": { 614 "line": 19, 615 "column": 4, 616 "program": "lambdaAsFunctionParam.ets" 617 } 618 } 619 }, 620 "overloads": [], 621 "decorators": [], 622 "loc": { 623 "start": { 624 "line": 17, 625 "column": 3, 626 "program": "lambdaAsFunctionParam.ets" 627 }, 628 "end": { 629 "line": 19, 630 "column": 4, 631 "program": "lambdaAsFunctionParam.ets" 632 } 633 } 634 }, 635 { 636 "type": "MethodDefinition", 637 "key": { 638 "type": "Identifier", 639 "name": "constructor", 640 "decorators": [], 641 "loc": { 642 "start": { 643 "line": 16, 644 "column": 13, 645 "program": "lambdaAsFunctionParam.ets" 646 }, 647 "end": { 648 "line": 16, 649 "column": 13, 650 "program": "lambdaAsFunctionParam.ets" 651 } 652 } 653 }, 654 "kind": "constructor", 655 "static": false, 656 "optional": false, 657 "computed": false, 658 "value": { 659 "type": "FunctionExpression", 660 "function": { 661 "type": "ScriptFunction", 662 "id": { 663 "type": "Identifier", 664 "name": "constructor", 665 "decorators": [], 666 "loc": { 667 "start": { 668 "line": 16, 669 "column": 13, 670 "program": "lambdaAsFunctionParam.ets" 671 }, 672 "end": { 673 "line": 16, 674 "column": 13, 675 "program": "lambdaAsFunctionParam.ets" 676 } 677 } 678 }, 679 "generator": false, 680 "async": false, 681 "expression": false, 682 "params": [], 683 "body": { 684 "type": "BlockStatement", 685 "statements": [], 686 "loc": { 687 "start": { 688 "line": 16, 689 "column": 13, 690 "program": "lambdaAsFunctionParam.ets" 691 }, 692 "end": { 693 "line": 16, 694 "column": 13, 695 "program": "lambdaAsFunctionParam.ets" 696 } 697 } 698 }, 699 "loc": { 700 "start": { 701 "line": 16, 702 "column": 13, 703 "program": "lambdaAsFunctionParam.ets" 704 }, 705 "end": { 706 "line": 16, 707 "column": 13, 708 "program": "lambdaAsFunctionParam.ets" 709 } 710 } 711 }, 712 "loc": { 713 "start": { 714 "line": 16, 715 "column": 13, 716 "program": "lambdaAsFunctionParam.ets" 717 }, 718 "end": { 719 "line": 16, 720 "column": 13, 721 "program": "lambdaAsFunctionParam.ets" 722 } 723 } 724 }, 725 "overloads": [], 726 "decorators": [], 727 "loc": { 728 "start": { 729 "line": 1, 730 "column": 1, 731 "program": null 732 }, 733 "end": { 734 "line": 1, 735 "column": 1, 736 "program": null 737 } 738 } 739 } 740 ], 741 "loc": { 742 "start": { 743 "line": 16, 744 "column": 12, 745 "program": "lambdaAsFunctionParam.ets" 746 }, 747 "end": { 748 "line": 22, 749 "column": 9, 750 "program": "lambdaAsFunctionParam.ets" 751 } 752 } 753 }, 754 "loc": { 755 "start": { 756 "line": 16, 757 "column": 1, 758 "program": "lambdaAsFunctionParam.ets" 759 }, 760 "end": { 761 "line": 22, 762 "column": 9, 763 "program": "lambdaAsFunctionParam.ets" 764 } 765 } 766 }, 767 { 768 "type": "ClassDeclaration", 769 "definition": { 770 "id": { 771 "type": "Identifier", 772 "name": "ETSGLOBAL", 773 "decorators": [], 774 "loc": { 775 "start": { 776 "line": 1, 777 "column": 1, 778 "program": "lambdaAsFunctionParam.ets" 779 }, 780 "end": { 781 "line": 1, 782 "column": 1, 783 "program": "lambdaAsFunctionParam.ets" 784 } 785 } 786 }, 787 "superClass": null, 788 "implements": [], 789 "body": [ 790 { 791 "type": "MethodDefinition", 792 "key": { 793 "type": "Identifier", 794 "name": "_$init$_", 795 "decorators": [], 796 "loc": { 797 "start": { 798 "line": 1, 799 "column": 1, 800 "program": null 801 }, 802 "end": { 803 "line": 1, 804 "column": 1, 805 "program": null 806 } 807 } 808 }, 809 "kind": "method", 810 "accessibility": "public", 811 "static": true, 812 "optional": false, 813 "computed": false, 814 "value": { 815 "type": "FunctionExpression", 816 "function": { 817 "type": "ScriptFunction", 818 "id": { 819 "type": "Identifier", 820 "name": "_$init$_", 821 "decorators": [], 822 "loc": { 823 "start": { 824 "line": 1, 825 "column": 1, 826 "program": null 827 }, 828 "end": { 829 "line": 1, 830 "column": 1, 831 "program": null 832 } 833 } 834 }, 835 "generator": false, 836 "async": false, 837 "expression": false, 838 "params": [], 839 "body": { 840 "type": "BlockStatement", 841 "statements": [], 842 "loc": { 843 "start": { 844 "line": 1, 845 "column": 1, 846 "program": null 847 }, 848 "end": { 849 "line": 1, 850 "column": 1, 851 "program": null 852 } 853 } 854 }, 855 "loc": { 856 "start": { 857 "line": 1, 858 "column": 1, 859 "program": null 860 }, 861 "end": { 862 "line": 1, 863 "column": 1, 864 "program": null 865 } 866 } 867 }, 868 "loc": { 869 "start": { 870 "line": 1, 871 "column": 1, 872 "program": null 873 }, 874 "end": { 875 "line": 1, 876 "column": 1, 877 "program": null 878 } 879 } 880 }, 881 "overloads": [], 882 "decorators": [], 883 "loc": { 884 "start": { 885 "line": 1, 886 "column": 1, 887 "program": "lambdaAsFunctionParam.ets" 888 }, 889 "end": { 890 "line": 1, 891 "column": 1, 892 "program": "lambdaAsFunctionParam.ets" 893 } 894 } 895 }, 896 { 897 "type": "MethodDefinition", 898 "key": { 899 "type": "Identifier", 900 "name": "main", 901 "decorators": [], 902 "loc": { 903 "start": { 904 "line": 22, 905 "column": 10, 906 "program": "lambdaAsFunctionParam.ets" 907 }, 908 "end": { 909 "line": 22, 910 "column": 14, 911 "program": "lambdaAsFunctionParam.ets" 912 } 913 } 914 }, 915 "kind": "method", 916 "accessibility": "public", 917 "static": true, 918 "optional": false, 919 "computed": false, 920 "value": { 921 "type": "FunctionExpression", 922 "function": { 923 "type": "ScriptFunction", 924 "id": { 925 "type": "Identifier", 926 "name": "main", 927 "decorators": [], 928 "loc": { 929 "start": { 930 "line": 22, 931 "column": 10, 932 "program": "lambdaAsFunctionParam.ets" 933 }, 934 "end": { 935 "line": 22, 936 "column": 14, 937 "program": "lambdaAsFunctionParam.ets" 938 } 939 } 940 }, 941 "generator": false, 942 "async": false, 943 "expression": false, 944 "params": [], 945 "returnType": { 946 "type": "ETSPrimitiveType", 947 "loc": { 948 "start": { 949 "line": 22, 950 "column": 18, 951 "program": "lambdaAsFunctionParam.ets" 952 }, 953 "end": { 954 "line": 22, 955 "column": 22, 956 "program": "lambdaAsFunctionParam.ets" 957 } 958 } 959 }, 960 "body": { 961 "type": "BlockStatement", 962 "statements": [ 963 { 964 "type": "VariableDeclaration", 965 "declarations": [ 966 { 967 "type": "VariableDeclarator", 968 "id": { 969 "type": "Identifier", 970 "name": "x", 971 "decorators": [], 972 "loc": { 973 "start": { 974 "line": 23, 975 "column": 9, 976 "program": "lambdaAsFunctionParam.ets" 977 }, 978 "end": { 979 "line": 23, 980 "column": 10, 981 "program": "lambdaAsFunctionParam.ets" 982 } 983 } 984 }, 985 "init": { 986 "type": "ETSNewClassInstanceExpression", 987 "typeReference": { 988 "type": "ETSTypeReference", 989 "part": { 990 "type": "ETSTypeReferencePart", 991 "name": { 992 "type": "Identifier", 993 "name": "A", 994 "decorators": [], 995 "loc": { 996 "start": { 997 "line": 23, 998 "column": 17, 999 "program": "lambdaAsFunctionParam.ets" 1000 }, 1001 "end": { 1002 "line": 23, 1003 "column": 18, 1004 "program": "lambdaAsFunctionParam.ets" 1005 } 1006 } 1007 }, 1008 "typeParams": { 1009 "type": "TSTypeParameterInstantiation", 1010 "params": [ 1011 { 1012 "type": "ETSTypeReference", 1013 "part": { 1014 "type": "ETSTypeReferencePart", 1015 "name": { 1016 "type": "Identifier", 1017 "name": "number", 1018 "decorators": [], 1019 "loc": { 1020 "start": { 1021 "line": 23, 1022 "column": 19, 1023 "program": "lambdaAsFunctionParam.ets" 1024 }, 1025 "end": { 1026 "line": 23, 1027 "column": 25, 1028 "program": "lambdaAsFunctionParam.ets" 1029 } 1030 } 1031 }, 1032 "loc": { 1033 "start": { 1034 "line": 23, 1035 "column": 19, 1036 "program": "lambdaAsFunctionParam.ets" 1037 }, 1038 "end": { 1039 "line": 23, 1040 "column": 26, 1041 "program": "lambdaAsFunctionParam.ets" 1042 } 1043 } 1044 }, 1045 "loc": { 1046 "start": { 1047 "line": 23, 1048 "column": 19, 1049 "program": "lambdaAsFunctionParam.ets" 1050 }, 1051 "end": { 1052 "line": 23, 1053 "column": 26, 1054 "program": "lambdaAsFunctionParam.ets" 1055 } 1056 } 1057 } 1058 ], 1059 "loc": { 1060 "start": { 1061 "line": 23, 1062 "column": 18, 1063 "program": "lambdaAsFunctionParam.ets" 1064 }, 1065 "end": { 1066 "line": 23, 1067 "column": 26, 1068 "program": "lambdaAsFunctionParam.ets" 1069 } 1070 } 1071 }, 1072 "loc": { 1073 "start": { 1074 "line": 23, 1075 "column": 17, 1076 "program": "lambdaAsFunctionParam.ets" 1077 }, 1078 "end": { 1079 "line": 23, 1080 "column": 27, 1081 "program": "lambdaAsFunctionParam.ets" 1082 } 1083 } 1084 }, 1085 "loc": { 1086 "start": { 1087 "line": 23, 1088 "column": 17, 1089 "program": "lambdaAsFunctionParam.ets" 1090 }, 1091 "end": { 1092 "line": 23, 1093 "column": 27, 1094 "program": "lambdaAsFunctionParam.ets" 1095 } 1096 } 1097 }, 1098 "arguments": [], 1099 "loc": { 1100 "start": { 1101 "line": 23, 1102 "column": 13, 1103 "program": "lambdaAsFunctionParam.ets" 1104 }, 1105 "end": { 1106 "line": 24, 1107 "column": 4, 1108 "program": "lambdaAsFunctionParam.ets" 1109 } 1110 } 1111 }, 1112 "loc": { 1113 "start": { 1114 "line": 23, 1115 "column": 9, 1116 "program": "lambdaAsFunctionParam.ets" 1117 }, 1118 "end": { 1119 "line": 24, 1120 "column": 4, 1121 "program": "lambdaAsFunctionParam.ets" 1122 } 1123 } 1124 } 1125 ], 1126 "kind": "const", 1127 "loc": { 1128 "start": { 1129 "line": 23, 1130 "column": 3, 1131 "program": "lambdaAsFunctionParam.ets" 1132 }, 1133 "end": { 1134 "line": 24, 1135 "column": 4, 1136 "program": "lambdaAsFunctionParam.ets" 1137 } 1138 } 1139 }, 1140 { 1141 "type": "ExpressionStatement", 1142 "expression": { 1143 "type": "CallExpression", 1144 "callee": { 1145 "type": "MemberExpression", 1146 "object": { 1147 "type": "Identifier", 1148 "name": "x", 1149 "decorators": [], 1150 "loc": { 1151 "start": { 1152 "line": 24, 1153 "column": 3, 1154 "program": "lambdaAsFunctionParam.ets" 1155 }, 1156 "end": { 1157 "line": 24, 1158 "column": 4, 1159 "program": "lambdaAsFunctionParam.ets" 1160 } 1161 } 1162 }, 1163 "property": { 1164 "type": "Identifier", 1165 "name": "foo", 1166 "decorators": [], 1167 "loc": { 1168 "start": { 1169 "line": 24, 1170 "column": 5, 1171 "program": "lambdaAsFunctionParam.ets" 1172 }, 1173 "end": { 1174 "line": 24, 1175 "column": 8, 1176 "program": "lambdaAsFunctionParam.ets" 1177 } 1178 } 1179 }, 1180 "computed": false, 1181 "optional": false, 1182 "loc": { 1183 "start": { 1184 "line": 24, 1185 "column": 3, 1186 "program": "lambdaAsFunctionParam.ets" 1187 }, 1188 "end": { 1189 "line": 24, 1190 "column": 8, 1191 "program": "lambdaAsFunctionParam.ets" 1192 } 1193 } 1194 }, 1195 "arguments": [ 1196 { 1197 "type": "ArrowFunctionExpression", 1198 "function": { 1199 "type": "ScriptFunction", 1200 "id": null, 1201 "generator": false, 1202 "async": false, 1203 "expression": true, 1204 "params": [ 1205 { 1206 "type": "ETSParameterExpression", 1207 "name": { 1208 "type": "Identifier", 1209 "name": "a", 1210 "typeAnnotation": { 1211 "type": "ETSTypeReference", 1212 "part": { 1213 "type": "ETSTypeReferencePart", 1214 "name": { 1215 "type": "Identifier", 1216 "name": "number", 1217 "decorators": [], 1218 "loc": { 1219 "start": { 1220 "line": 24, 1221 "column": 13, 1222 "program": "lambdaAsFunctionParam.ets" 1223 }, 1224 "end": { 1225 "line": 24, 1226 "column": 19, 1227 "program": "lambdaAsFunctionParam.ets" 1228 } 1229 } 1230 }, 1231 "loc": { 1232 "start": { 1233 "line": 24, 1234 "column": 13, 1235 "program": "lambdaAsFunctionParam.ets" 1236 }, 1237 "end": { 1238 "line": 24, 1239 "column": 20, 1240 "program": "lambdaAsFunctionParam.ets" 1241 } 1242 } 1243 }, 1244 "loc": { 1245 "start": { 1246 "line": 24, 1247 "column": 13, 1248 "program": "lambdaAsFunctionParam.ets" 1249 }, 1250 "end": { 1251 "line": 24, 1252 "column": 20, 1253 "program": "lambdaAsFunctionParam.ets" 1254 } 1255 } 1256 }, 1257 "decorators": [], 1258 "loc": { 1259 "start": { 1260 "line": 24, 1261 "column": 10, 1262 "program": "lambdaAsFunctionParam.ets" 1263 }, 1264 "end": { 1265 "line": 24, 1266 "column": 20, 1267 "program": "lambdaAsFunctionParam.ets" 1268 } 1269 } 1270 }, 1271 "loc": { 1272 "start": { 1273 "line": 24, 1274 "column": 10, 1275 "program": "lambdaAsFunctionParam.ets" 1276 }, 1277 "end": { 1278 "line": 24, 1279 "column": 20, 1280 "program": "lambdaAsFunctionParam.ets" 1281 } 1282 } 1283 }, 1284 { 1285 "type": "ETSParameterExpression", 1286 "name": { 1287 "type": "Identifier", 1288 "name": "b", 1289 "typeAnnotation": { 1290 "type": "ETSTypeReference", 1291 "part": { 1292 "type": "ETSTypeReferencePart", 1293 "name": { 1294 "type": "Identifier", 1295 "name": "number", 1296 "decorators": [], 1297 "loc": { 1298 "start": { 1299 "line": 24, 1300 "column": 24, 1301 "program": "lambdaAsFunctionParam.ets" 1302 }, 1303 "end": { 1304 "line": 24, 1305 "column": 30, 1306 "program": "lambdaAsFunctionParam.ets" 1307 } 1308 } 1309 }, 1310 "loc": { 1311 "start": { 1312 "line": 24, 1313 "column": 24, 1314 "program": "lambdaAsFunctionParam.ets" 1315 }, 1316 "end": { 1317 "line": 24, 1318 "column": 31, 1319 "program": "lambdaAsFunctionParam.ets" 1320 } 1321 } 1322 }, 1323 "loc": { 1324 "start": { 1325 "line": 24, 1326 "column": 24, 1327 "program": "lambdaAsFunctionParam.ets" 1328 }, 1329 "end": { 1330 "line": 24, 1331 "column": 31, 1332 "program": "lambdaAsFunctionParam.ets" 1333 } 1334 } 1335 }, 1336 "decorators": [], 1337 "loc": { 1338 "start": { 1339 "line": 24, 1340 "column": 21, 1341 "program": "lambdaAsFunctionParam.ets" 1342 }, 1343 "end": { 1344 "line": 24, 1345 "column": 31, 1346 "program": "lambdaAsFunctionParam.ets" 1347 } 1348 } 1349 }, 1350 "loc": { 1351 "start": { 1352 "line": 24, 1353 "column": 21, 1354 "program": "lambdaAsFunctionParam.ets" 1355 }, 1356 "end": { 1357 "line": 24, 1358 "column": 31, 1359 "program": "lambdaAsFunctionParam.ets" 1360 } 1361 } 1362 } 1363 ], 1364 "returnType": { 1365 "type": "ETSTypeReference", 1366 "part": { 1367 "type": "ETSTypeReferencePart", 1368 "name": { 1369 "type": "Identifier", 1370 "name": "number", 1371 "decorators": [], 1372 "loc": { 1373 "start": { 1374 "line": 24, 1375 "column": 33, 1376 "program": "lambdaAsFunctionParam.ets" 1377 }, 1378 "end": { 1379 "line": 24, 1380 "column": 39, 1381 "program": "lambdaAsFunctionParam.ets" 1382 } 1383 } 1384 }, 1385 "loc": { 1386 "start": { 1387 "line": 24, 1388 "column": 33, 1389 "program": "lambdaAsFunctionParam.ets" 1390 }, 1391 "end": { 1392 "line": 24, 1393 "column": 42, 1394 "program": "lambdaAsFunctionParam.ets" 1395 } 1396 } 1397 }, 1398 "loc": { 1399 "start": { 1400 "line": 24, 1401 "column": 33, 1402 "program": "lambdaAsFunctionParam.ets" 1403 }, 1404 "end": { 1405 "line": 24, 1406 "column": 42, 1407 "program": "lambdaAsFunctionParam.ets" 1408 } 1409 } 1410 }, 1411 "body": { 1412 "type": "BlockStatement", 1413 "statements": [ 1414 { 1415 "type": "ReturnStatement", 1416 "argument": { 1417 "type": "BinaryExpression", 1418 "operator": "-", 1419 "left": { 1420 "type": "Identifier", 1421 "name": "b", 1422 "decorators": [], 1423 "loc": { 1424 "start": { 1425 "line": 24, 1426 "column": 43, 1427 "program": "lambdaAsFunctionParam.ets" 1428 }, 1429 "end": { 1430 "line": 24, 1431 "column": 44, 1432 "program": "lambdaAsFunctionParam.ets" 1433 } 1434 } 1435 }, 1436 "right": { 1437 "type": "Identifier", 1438 "name": "a", 1439 "decorators": [], 1440 "loc": { 1441 "start": { 1442 "line": 24, 1443 "column": 47, 1444 "program": "lambdaAsFunctionParam.ets" 1445 }, 1446 "end": { 1447 "line": 24, 1448 "column": 48, 1449 "program": "lambdaAsFunctionParam.ets" 1450 } 1451 } 1452 }, 1453 "loc": { 1454 "start": { 1455 "line": 24, 1456 "column": 43, 1457 "program": "lambdaAsFunctionParam.ets" 1458 }, 1459 "end": { 1460 "line": 24, 1461 "column": 48, 1462 "program": "lambdaAsFunctionParam.ets" 1463 } 1464 } 1465 }, 1466 "loc": { 1467 "start": { 1468 "line": 1, 1469 "column": 1, 1470 "program": null 1471 }, 1472 "end": { 1473 "line": 1, 1474 "column": 1, 1475 "program": null 1476 } 1477 } 1478 } 1479 ], 1480 "loc": { 1481 "start": { 1482 "line": 1, 1483 "column": 1, 1484 "program": null 1485 }, 1486 "end": { 1487 "line": 1, 1488 "column": 1, 1489 "program": null 1490 } 1491 } 1492 }, 1493 "loc": { 1494 "start": { 1495 "line": 24, 1496 "column": 9, 1497 "program": "lambdaAsFunctionParam.ets" 1498 }, 1499 "end": { 1500 "line": 24, 1501 "column": 48, 1502 "program": "lambdaAsFunctionParam.ets" 1503 } 1504 } 1505 }, 1506 "loc": { 1507 "start": { 1508 "line": 24, 1509 "column": 9, 1510 "program": "lambdaAsFunctionParam.ets" 1511 }, 1512 "end": { 1513 "line": 24, 1514 "column": 48, 1515 "program": "lambdaAsFunctionParam.ets" 1516 } 1517 } 1518 } 1519 ], 1520 "optional": false, 1521 "loc": { 1522 "start": { 1523 "line": 24, 1524 "column": 3, 1525 "program": "lambdaAsFunctionParam.ets" 1526 }, 1527 "end": { 1528 "line": 24, 1529 "column": 49, 1530 "program": "lambdaAsFunctionParam.ets" 1531 } 1532 } 1533 }, 1534 "loc": { 1535 "start": { 1536 "line": 24, 1537 "column": 3, 1538 "program": "lambdaAsFunctionParam.ets" 1539 }, 1540 "end": { 1541 "line": 24, 1542 "column": 49, 1543 "program": "lambdaAsFunctionParam.ets" 1544 } 1545 } 1546 } 1547 ], 1548 "loc": { 1549 "start": { 1550 "line": 22, 1551 "column": 23, 1552 "program": "lambdaAsFunctionParam.ets" 1553 }, 1554 "end": { 1555 "line": 25, 1556 "column": 2, 1557 "program": "lambdaAsFunctionParam.ets" 1558 } 1559 } 1560 }, 1561 "loc": { 1562 "start": { 1563 "line": 22, 1564 "column": 10, 1565 "program": "lambdaAsFunctionParam.ets" 1566 }, 1567 "end": { 1568 "line": 25, 1569 "column": 2, 1570 "program": "lambdaAsFunctionParam.ets" 1571 } 1572 } 1573 }, 1574 "loc": { 1575 "start": { 1576 "line": 22, 1577 "column": 10, 1578 "program": "lambdaAsFunctionParam.ets" 1579 }, 1580 "end": { 1581 "line": 25, 1582 "column": 2, 1583 "program": "lambdaAsFunctionParam.ets" 1584 } 1585 } 1586 }, 1587 "overloads": [], 1588 "decorators": [], 1589 "loc": { 1590 "start": { 1591 "line": 22, 1592 "column": 1, 1593 "program": "lambdaAsFunctionParam.ets" 1594 }, 1595 "end": { 1596 "line": 25, 1597 "column": 2, 1598 "program": "lambdaAsFunctionParam.ets" 1599 } 1600 } 1601 } 1602 ], 1603 "loc": { 1604 "start": { 1605 "line": 1, 1606 "column": 1, 1607 "program": "lambdaAsFunctionParam.ets" 1608 }, 1609 "end": { 1610 "line": 1, 1611 "column": 1, 1612 "program": "lambdaAsFunctionParam.ets" 1613 } 1614 } 1615 }, 1616 "loc": { 1617 "start": { 1618 "line": 1, 1619 "column": 1, 1620 "program": "lambdaAsFunctionParam.ets" 1621 }, 1622 "end": { 1623 "line": 1, 1624 "column": 1, 1625 "program": "lambdaAsFunctionParam.ets" 1626 } 1627 } 1628 } 1629 ], 1630 "loc": { 1631 "start": { 1632 "line": 1, 1633 "column": 1, 1634 "program": "lambdaAsFunctionParam.ets" 1635 }, 1636 "end": { 1637 "line": 26, 1638 "column": 1, 1639 "program": "lambdaAsFunctionParam.ets" 1640 } 1641 } 1642} 1643