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