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