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