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": "proxy_method.ets" 16 }, 17 "end": { 18 "line": 16, 19 "column": 8, 20 "program": "proxy_method.ets" 21 } 22 } 23 }, 24 "superClass": null, 25 "implements": [], 26 "body": [ 27 { 28 "type": "MethodDefinition", 29 "key": { 30 "type": "Identifier", 31 "name": "met", 32 "decorators": [], 33 "loc": { 34 "start": { 35 "line": 17, 36 "column": 5, 37 "program": "proxy_method.ets" 38 }, 39 "end": { 40 "line": 17, 41 "column": 8, 42 "program": "proxy_method.ets" 43 } 44 } 45 }, 46 "kind": "method", 47 "accessibility": "public", 48 "static": false, 49 "optional": false, 50 "computed": false, 51 "value": { 52 "type": "FunctionExpression", 53 "function": { 54 "type": "ScriptFunction", 55 "id": { 56 "type": "Identifier", 57 "name": "met", 58 "decorators": [], 59 "loc": { 60 "start": { 61 "line": 17, 62 "column": 5, 63 "program": "proxy_method.ets" 64 }, 65 "end": { 66 "line": 17, 67 "column": 8, 68 "program": "proxy_method.ets" 69 } 70 } 71 }, 72 "generator": false, 73 "async": false, 74 "expression": false, 75 "params": [ 76 { 77 "type": "ETSParameterExpression", 78 "name": { 79 "type": "Identifier", 80 "name": "s", 81 "typeAnnotation": { 82 "type": "ETSTypeReference", 83 "part": { 84 "type": "ETSTypeReferencePart", 85 "name": { 86 "type": "Identifier", 87 "name": "string", 88 "decorators": [], 89 "loc": { 90 "start": { 91 "line": 17, 92 "column": 12, 93 "program": "proxy_method.ets" 94 }, 95 "end": { 96 "line": 17, 97 "column": 18, 98 "program": "proxy_method.ets" 99 } 100 } 101 }, 102 "loc": { 103 "start": { 104 "line": 17, 105 "column": 12, 106 "program": "proxy_method.ets" 107 }, 108 "end": { 109 "line": 17, 110 "column": 19, 111 "program": "proxy_method.ets" 112 } 113 } 114 }, 115 "loc": { 116 "start": { 117 "line": 17, 118 "column": 12, 119 "program": "proxy_method.ets" 120 }, 121 "end": { 122 "line": 17, 123 "column": 19, 124 "program": "proxy_method.ets" 125 } 126 } 127 }, 128 "decorators": [], 129 "loc": { 130 "start": { 131 "line": 17, 132 "column": 9, 133 "program": "proxy_method.ets" 134 }, 135 "end": { 136 "line": 17, 137 "column": 19, 138 "program": "proxy_method.ets" 139 } 140 } 141 }, 142 "loc": { 143 "start": { 144 "line": 17, 145 "column": 9, 146 "program": "proxy_method.ets" 147 }, 148 "end": { 149 "line": 17, 150 "column": 19, 151 "program": "proxy_method.ets" 152 } 153 } 154 }, 155 { 156 "type": "ETSParameterExpression", 157 "name": { 158 "type": "Identifier", 159 "name": "q", 160 "typeAnnotation": { 161 "type": "ETSTypeReference", 162 "part": { 163 "type": "ETSTypeReferencePart", 164 "name": { 165 "type": "Identifier", 166 "name": "string", 167 "decorators": [], 168 "loc": { 169 "start": { 170 "line": 17, 171 "column": 24, 172 "program": "proxy_method.ets" 173 }, 174 "end": { 175 "line": 17, 176 "column": 30, 177 "program": "proxy_method.ets" 178 } 179 } 180 }, 181 "loc": { 182 "start": { 183 "line": 17, 184 "column": 24, 185 "program": "proxy_method.ets" 186 }, 187 "end": { 188 "line": 17, 189 "column": 31, 190 "program": "proxy_method.ets" 191 } 192 } 193 }, 194 "loc": { 195 "start": { 196 "line": 17, 197 "column": 24, 198 "program": "proxy_method.ets" 199 }, 200 "end": { 201 "line": 17, 202 "column": 31, 203 "program": "proxy_method.ets" 204 } 205 } 206 }, 207 "decorators": [], 208 "loc": { 209 "start": { 210 "line": 17, 211 "column": 20, 212 "program": "proxy_method.ets" 213 }, 214 "end": { 215 "line": 17, 216 "column": 31, 217 "program": "proxy_method.ets" 218 } 219 } 220 }, 221 "loc": { 222 "start": { 223 "line": 17, 224 "column": 20, 225 "program": "proxy_method.ets" 226 }, 227 "end": { 228 "line": 17, 229 "column": 31, 230 "program": "proxy_method.ets" 231 } 232 } 233 } 234 ], 235 "body": { 236 "type": "BlockStatement", 237 "statements": [ 238 { 239 "type": "ExpressionStatement", 240 "expression": { 241 "type": "CallExpression", 242 "callee": { 243 "type": "MemberExpression", 244 "object": { 245 "type": "Identifier", 246 "name": "console", 247 "decorators": [], 248 "loc": { 249 "start": { 250 "line": 18, 251 "column": 9, 252 "program": "proxy_method.ets" 253 }, 254 "end": { 255 "line": 18, 256 "column": 16, 257 "program": "proxy_method.ets" 258 } 259 } 260 }, 261 "property": { 262 "type": "Identifier", 263 "name": "log", 264 "decorators": [], 265 "loc": { 266 "start": { 267 "line": 18, 268 "column": 17, 269 "program": "proxy_method.ets" 270 }, 271 "end": { 272 "line": 18, 273 "column": 20, 274 "program": "proxy_method.ets" 275 } 276 } 277 }, 278 "computed": false, 279 "optional": false, 280 "loc": { 281 "start": { 282 "line": 18, 283 "column": 9, 284 "program": "proxy_method.ets" 285 }, 286 "end": { 287 "line": 18, 288 "column": 20, 289 "program": "proxy_method.ets" 290 } 291 } 292 }, 293 "arguments": [ 294 { 295 "type": "BinaryExpression", 296 "operator": "+", 297 "left": { 298 "type": "StringLiteral", 299 "value": "met ", 300 "loc": { 301 "start": { 302 "line": 18, 303 "column": 21, 304 "program": "proxy_method.ets" 305 }, 306 "end": { 307 "line": 18, 308 "column": 27, 309 "program": "proxy_method.ets" 310 } 311 } 312 }, 313 "right": { 314 "type": "Identifier", 315 "name": "s", 316 "decorators": [], 317 "loc": { 318 "start": { 319 "line": 18, 320 "column": 30, 321 "program": "proxy_method.ets" 322 }, 323 "end": { 324 "line": 18, 325 "column": 31, 326 "program": "proxy_method.ets" 327 } 328 } 329 }, 330 "loc": { 331 "start": { 332 "line": 18, 333 "column": 21, 334 "program": "proxy_method.ets" 335 }, 336 "end": { 337 "line": 18, 338 "column": 31, 339 "program": "proxy_method.ets" 340 } 341 } 342 } 343 ], 344 "optional": false, 345 "loc": { 346 "start": { 347 "line": 18, 348 "column": 9, 349 "program": "proxy_method.ets" 350 }, 351 "end": { 352 "line": 18, 353 "column": 32, 354 "program": "proxy_method.ets" 355 } 356 } 357 }, 358 "loc": { 359 "start": { 360 "line": 18, 361 "column": 9, 362 "program": "proxy_method.ets" 363 }, 364 "end": { 365 "line": 18, 366 "column": 32, 367 "program": "proxy_method.ets" 368 } 369 } 370 } 371 ], 372 "loc": { 373 "start": { 374 "line": 17, 375 "column": 31, 376 "program": "proxy_method.ets" 377 }, 378 "end": { 379 "line": 19, 380 "column": 6, 381 "program": "proxy_method.ets" 382 } 383 } 384 }, 385 "annotations": [ 386 { 387 "expr_": { 388 "type": "ETSTypeReference", 389 "part": { 390 "type": "ETSTypeReferencePart", 391 "name": { 392 "type": "TSQualifiedName", 393 "left": { 394 "type": "Identifier", 395 "name": "functions", 396 "decorators": [], 397 "loc": { 398 "start": { 399 "line": 17, 400 "column": 8, 401 "program": "proxy_method.ets" 402 }, 403 "end": { 404 "line": 19, 405 "column": 6, 406 "program": "proxy_method.ets" 407 } 408 } 409 }, 410 "right": { 411 "type": "Identifier", 412 "name": "OptionalParametersAnnotation", 413 "decorators": [], 414 "loc": { 415 "start": { 416 "line": 17, 417 "column": 8, 418 "program": "proxy_method.ets" 419 }, 420 "end": { 421 "line": 19, 422 "column": 6, 423 "program": "proxy_method.ets" 424 } 425 } 426 }, 427 "loc": { 428 "start": { 429 "line": 17, 430 "column": 8, 431 "program": "proxy_method.ets" 432 }, 433 "end": { 434 "line": 19, 435 "column": 6, 436 "program": "proxy_method.ets" 437 } 438 } 439 }, 440 "loc": { 441 "start": { 442 "line": 17, 443 "column": 8, 444 "program": "proxy_method.ets" 445 }, 446 "end": { 447 "line": 19, 448 "column": 6, 449 "program": "proxy_method.ets" 450 } 451 } 452 }, 453 "loc": { 454 "start": { 455 "line": 17, 456 "column": 8, 457 "program": "proxy_method.ets" 458 }, 459 "end": { 460 "line": 19, 461 "column": 6, 462 "program": "proxy_method.ets" 463 } 464 } 465 }, 466 "properties": [ 467 { 468 "type": "ClassProperty", 469 "key": { 470 "type": "Identifier", 471 "name": "minArgCount", 472 "decorators": [], 473 "loc": { 474 "start": { 475 "line": 17, 476 "column": 8, 477 "program": "proxy_method.ets" 478 }, 479 "end": { 480 "line": 19, 481 "column": 6, 482 "program": "proxy_method.ets" 483 } 484 } 485 }, 486 "value": { 487 "type": "NumberLiteral", 488 "value": 1, 489 "loc": { 490 "start": { 491 "line": 17, 492 "column": 8, 493 "program": "proxy_method.ets" 494 }, 495 "end": { 496 "line": 19, 497 "column": 6, 498 "program": "proxy_method.ets" 499 } 500 } 501 }, 502 "static": false, 503 "readonly": false, 504 "declare": false, 505 "optional": false, 506 "computed": false, 507 "definite": false, 508 "decorators": [], 509 "loc": { 510 "start": { 511 "line": 17, 512 "column": 8, 513 "program": "proxy_method.ets" 514 }, 515 "end": { 516 "line": 19, 517 "column": 6, 518 "program": "proxy_method.ets" 519 } 520 } 521 } 522 ], 523 "loc": { 524 "start": { 525 "line": 17, 526 "column": 8, 527 "program": "proxy_method.ets" 528 }, 529 "end": { 530 "line": 19, 531 "column": 6, 532 "program": "proxy_method.ets" 533 } 534 } 535 } 536 ], 537 "loc": { 538 "start": { 539 "line": 17, 540 "column": 8, 541 "program": "proxy_method.ets" 542 }, 543 "end": { 544 "line": 19, 545 "column": 6, 546 "program": "proxy_method.ets" 547 } 548 } 549 }, 550 "loc": { 551 "start": { 552 "line": 17, 553 "column": 8, 554 "program": "proxy_method.ets" 555 }, 556 "end": { 557 "line": 19, 558 "column": 6, 559 "program": "proxy_method.ets" 560 } 561 } 562 }, 563 "overloads": [], 564 "decorators": [], 565 "loc": { 566 "start": { 567 "line": 17, 568 "column": 5, 569 "program": "proxy_method.ets" 570 }, 571 "end": { 572 "line": 19, 573 "column": 6, 574 "program": "proxy_method.ets" 575 } 576 } 577 }, 578 { 579 "type": "MethodDefinition", 580 "key": { 581 "type": "Identifier", 582 "name": "constructor", 583 "decorators": [], 584 "loc": { 585 "start": { 586 "line": 16, 587 "column": 10, 588 "program": "proxy_method.ets" 589 }, 590 "end": { 591 "line": 16, 592 "column": 10, 593 "program": "proxy_method.ets" 594 } 595 } 596 }, 597 "kind": "constructor", 598 "static": false, 599 "optional": false, 600 "computed": false, 601 "value": { 602 "type": "FunctionExpression", 603 "function": { 604 "type": "ScriptFunction", 605 "id": { 606 "type": "Identifier", 607 "name": "constructor", 608 "decorators": [], 609 "loc": { 610 "start": { 611 "line": 16, 612 "column": 10, 613 "program": "proxy_method.ets" 614 }, 615 "end": { 616 "line": 16, 617 "column": 10, 618 "program": "proxy_method.ets" 619 } 620 } 621 }, 622 "generator": false, 623 "async": false, 624 "expression": false, 625 "params": [], 626 "body": { 627 "type": "BlockStatement", 628 "statements": [], 629 "loc": { 630 "start": { 631 "line": 16, 632 "column": 10, 633 "program": "proxy_method.ets" 634 }, 635 "end": { 636 "line": 16, 637 "column": 10, 638 "program": "proxy_method.ets" 639 } 640 } 641 }, 642 "loc": { 643 "start": { 644 "line": 16, 645 "column": 10, 646 "program": "proxy_method.ets" 647 }, 648 "end": { 649 "line": 16, 650 "column": 10, 651 "program": "proxy_method.ets" 652 } 653 } 654 }, 655 "loc": { 656 "start": { 657 "line": 16, 658 "column": 10, 659 "program": "proxy_method.ets" 660 }, 661 "end": { 662 "line": 16, 663 "column": 10, 664 "program": "proxy_method.ets" 665 } 666 } 667 }, 668 "overloads": [], 669 "decorators": [], 670 "loc": { 671 "start": { 672 "line": 1, 673 "column": 1, 674 "program": null 675 }, 676 "end": { 677 "line": 1, 678 "column": 1, 679 "program": null 680 } 681 } 682 } 683 ], 684 "loc": { 685 "start": { 686 "line": 16, 687 "column": 9, 688 "program": "proxy_method.ets" 689 }, 690 "end": { 691 "line": 22, 692 "column": 9, 693 "program": "proxy_method.ets" 694 } 695 } 696 }, 697 "loc": { 698 "start": { 699 "line": 16, 700 "column": 1, 701 "program": "proxy_method.ets" 702 }, 703 "end": { 704 "line": 22, 705 "column": 9, 706 "program": "proxy_method.ets" 707 } 708 } 709 }, 710 { 711 "type": "ClassDeclaration", 712 "definition": { 713 "id": { 714 "type": "Identifier", 715 "name": "ETSGLOBAL", 716 "decorators": [], 717 "loc": { 718 "start": { 719 "line": 1, 720 "column": 1, 721 "program": "proxy_method.ets" 722 }, 723 "end": { 724 "line": 1, 725 "column": 1, 726 "program": "proxy_method.ets" 727 } 728 } 729 }, 730 "superClass": null, 731 "implements": [], 732 "body": [ 733 { 734 "type": "MethodDefinition", 735 "key": { 736 "type": "Identifier", 737 "name": "_$init$_", 738 "decorators": [], 739 "loc": { 740 "start": { 741 "line": 1, 742 "column": 1, 743 "program": null 744 }, 745 "end": { 746 "line": 1, 747 "column": 1, 748 "program": null 749 } 750 } 751 }, 752 "kind": "method", 753 "accessibility": "public", 754 "static": true, 755 "optional": false, 756 "computed": false, 757 "value": { 758 "type": "FunctionExpression", 759 "function": { 760 "type": "ScriptFunction", 761 "id": { 762 "type": "Identifier", 763 "name": "_$init$_", 764 "decorators": [], 765 "loc": { 766 "start": { 767 "line": 1, 768 "column": 1, 769 "program": null 770 }, 771 "end": { 772 "line": 1, 773 "column": 1, 774 "program": null 775 } 776 } 777 }, 778 "generator": false, 779 "async": false, 780 "expression": false, 781 "params": [], 782 "body": { 783 "type": "BlockStatement", 784 "statements": [], 785 "loc": { 786 "start": { 787 "line": 1, 788 "column": 1, 789 "program": null 790 }, 791 "end": { 792 "line": 1, 793 "column": 1, 794 "program": null 795 } 796 } 797 }, 798 "loc": { 799 "start": { 800 "line": 1, 801 "column": 1, 802 "program": null 803 }, 804 "end": { 805 "line": 1, 806 "column": 1, 807 "program": null 808 } 809 } 810 }, 811 "loc": { 812 "start": { 813 "line": 1, 814 "column": 1, 815 "program": null 816 }, 817 "end": { 818 "line": 1, 819 "column": 1, 820 "program": null 821 } 822 } 823 }, 824 "overloads": [], 825 "decorators": [], 826 "loc": { 827 "start": { 828 "line": 1, 829 "column": 1, 830 "program": "proxy_method.ets" 831 }, 832 "end": { 833 "line": 1, 834 "column": 1, 835 "program": "proxy_method.ets" 836 } 837 } 838 }, 839 { 840 "type": "MethodDefinition", 841 "key": { 842 "type": "Identifier", 843 "name": "main", 844 "decorators": [], 845 "loc": { 846 "start": { 847 "line": 22, 848 "column": 10, 849 "program": "proxy_method.ets" 850 }, 851 "end": { 852 "line": 22, 853 "column": 14, 854 "program": "proxy_method.ets" 855 } 856 } 857 }, 858 "kind": "method", 859 "accessibility": "public", 860 "static": true, 861 "optional": false, 862 "computed": false, 863 "value": { 864 "type": "FunctionExpression", 865 "function": { 866 "type": "ScriptFunction", 867 "id": { 868 "type": "Identifier", 869 "name": "main", 870 "decorators": [], 871 "loc": { 872 "start": { 873 "line": 22, 874 "column": 10, 875 "program": "proxy_method.ets" 876 }, 877 "end": { 878 "line": 22, 879 "column": 14, 880 "program": "proxy_method.ets" 881 } 882 } 883 }, 884 "generator": false, 885 "async": false, 886 "expression": false, 887 "params": [], 888 "body": { 889 "type": "BlockStatement", 890 "statements": [ 891 { 892 "type": "ExpressionStatement", 893 "expression": { 894 "type": "CallExpression", 895 "callee": { 896 "type": "MemberExpression", 897 "object": { 898 "type": "ETSNewClassInstanceExpression", 899 "typeReference": { 900 "type": "ETSTypeReference", 901 "part": { 902 "type": "ETSTypeReferencePart", 903 "name": { 904 "type": "Identifier", 905 "name": "A", 906 "decorators": [], 907 "loc": { 908 "start": { 909 "line": 23, 910 "column": 9, 911 "program": "proxy_method.ets" 912 }, 913 "end": { 914 "line": 23, 915 "column": 10, 916 "program": "proxy_method.ets" 917 } 918 } 919 }, 920 "loc": { 921 "start": { 922 "line": 23, 923 "column": 9, 924 "program": "proxy_method.ets" 925 }, 926 "end": { 927 "line": 23, 928 "column": 11, 929 "program": "proxy_method.ets" 930 } 931 } 932 }, 933 "loc": { 934 "start": { 935 "line": 23, 936 "column": 9, 937 "program": "proxy_method.ets" 938 }, 939 "end": { 940 "line": 23, 941 "column": 11, 942 "program": "proxy_method.ets" 943 } 944 } 945 }, 946 "arguments": [], 947 "loc": { 948 "start": { 949 "line": 23, 950 "column": 5, 951 "program": "proxy_method.ets" 952 }, 953 "end": { 954 "line": 23, 955 "column": 13, 956 "program": "proxy_method.ets" 957 } 958 } 959 }, 960 "property": { 961 "type": "Identifier", 962 "name": "met", 963 "decorators": [], 964 "loc": { 965 "start": { 966 "line": 23, 967 "column": 13, 968 "program": "proxy_method.ets" 969 }, 970 "end": { 971 "line": 23, 972 "column": 16, 973 "program": "proxy_method.ets" 974 } 975 } 976 }, 977 "computed": false, 978 "optional": false, 979 "loc": { 980 "start": { 981 "line": 23, 982 "column": 5, 983 "program": "proxy_method.ets" 984 }, 985 "end": { 986 "line": 23, 987 "column": 16, 988 "program": "proxy_method.ets" 989 } 990 } 991 }, 992 "arguments": [ 993 { 994 "type": "StringLiteral", 995 "value": "S", 996 "loc": { 997 "start": { 998 "line": 23, 999 "column": 17, 1000 "program": "proxy_method.ets" 1001 }, 1002 "end": { 1003 "line": 23, 1004 "column": 20, 1005 "program": "proxy_method.ets" 1006 } 1007 } 1008 } 1009 ], 1010 "optional": false, 1011 "loc": { 1012 "start": { 1013 "line": 23, 1014 "column": 5, 1015 "program": "proxy_method.ets" 1016 }, 1017 "end": { 1018 "line": 23, 1019 "column": 21, 1020 "program": "proxy_method.ets" 1021 } 1022 } 1023 }, 1024 "loc": { 1025 "start": { 1026 "line": 23, 1027 "column": 5, 1028 "program": "proxy_method.ets" 1029 }, 1030 "end": { 1031 "line": 23, 1032 "column": 21, 1033 "program": "proxy_method.ets" 1034 } 1035 } 1036 } 1037 ], 1038 "loc": { 1039 "start": { 1040 "line": 22, 1041 "column": 17, 1042 "program": "proxy_method.ets" 1043 }, 1044 "end": { 1045 "line": 24, 1046 "column": 2, 1047 "program": "proxy_method.ets" 1048 } 1049 } 1050 }, 1051 "loc": { 1052 "start": { 1053 "line": 22, 1054 "column": 10, 1055 "program": "proxy_method.ets" 1056 }, 1057 "end": { 1058 "line": 24, 1059 "column": 2, 1060 "program": "proxy_method.ets" 1061 } 1062 } 1063 }, 1064 "loc": { 1065 "start": { 1066 "line": 22, 1067 "column": 10, 1068 "program": "proxy_method.ets" 1069 }, 1070 "end": { 1071 "line": 24, 1072 "column": 2, 1073 "program": "proxy_method.ets" 1074 } 1075 } 1076 }, 1077 "overloads": [], 1078 "decorators": [], 1079 "loc": { 1080 "start": { 1081 "line": 22, 1082 "column": 1, 1083 "program": "proxy_method.ets" 1084 }, 1085 "end": { 1086 "line": 24, 1087 "column": 2, 1088 "program": "proxy_method.ets" 1089 } 1090 } 1091 } 1092 ], 1093 "loc": { 1094 "start": { 1095 "line": 1, 1096 "column": 1, 1097 "program": "proxy_method.ets" 1098 }, 1099 "end": { 1100 "line": 1, 1101 "column": 1, 1102 "program": "proxy_method.ets" 1103 } 1104 } 1105 }, 1106 "loc": { 1107 "start": { 1108 "line": 1, 1109 "column": 1, 1110 "program": "proxy_method.ets" 1111 }, 1112 "end": { 1113 "line": 1, 1114 "column": 1, 1115 "program": "proxy_method.ets" 1116 } 1117 } 1118 } 1119 ], 1120 "loc": { 1121 "start": { 1122 "line": 1, 1123 "column": 1, 1124 "program": "proxy_method.ets" 1125 }, 1126 "end": { 1127 "line": 25, 1128 "column": 1, 1129 "program": "proxy_method.ets" 1130 } 1131 } 1132} 1133