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