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