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