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