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 "accessibility": "private", 419 "static": false, 420 "readonly": false, 421 "declare": false, 422 "optional": false, 423 "computed": false, 424 "typeAnnotation": { 425 "type": "TSArrayType", 426 "elementType": { 427 "type": "ETSTypeReference", 428 "part": { 429 "type": "ETSTypeReferencePart", 430 "name": { 431 "type": "Identifier", 432 "name": "T", 433 "decorators": [], 434 "loc": { 435 "start": { 436 "line": 21, 437 "column": 19 438 }, 439 "end": { 440 "line": 21, 441 "column": 20 442 } 443 } 444 }, 445 "loc": { 446 "start": { 447 "line": 21, 448 "column": 19 449 }, 450 "end": { 451 "line": 21, 452 "column": 21 453 } 454 } 455 }, 456 "loc": { 457 "start": { 458 "line": 21, 459 "column": 19 460 }, 461 "end": { 462 "line": 21, 463 "column": 21 464 } 465 } 466 }, 467 "loc": { 468 "start": { 469 "line": 21, 470 "column": 22 471 }, 472 "end": { 473 "line": 21, 474 "column": 23 475 } 476 } 477 }, 478 "definite": false, 479 "decorators": [], 480 "loc": { 481 "start": { 482 "line": 21, 483 "column": 13 484 }, 485 "end": { 486 "line": 21, 487 "column": 23 488 } 489 } 490 }, 491 { 492 "type": "MethodDefinition", 493 "key": { 494 "type": "Identifier", 495 "name": "constructor", 496 "decorators": [], 497 "loc": { 498 "start": { 499 "line": 1, 500 "column": 1 501 }, 502 "end": { 503 "line": 1, 504 "column": 1 505 } 506 } 507 }, 508 "kind": "constructor", 509 "static": false, 510 "optional": false, 511 "computed": false, 512 "value": { 513 "type": "FunctionExpression", 514 "function": { 515 "type": "ScriptFunction", 516 "id": { 517 "type": "Identifier", 518 "name": "constructor", 519 "decorators": [], 520 "loc": { 521 "start": { 522 "line": 1, 523 "column": 1 524 }, 525 "end": { 526 "line": 1, 527 "column": 1 528 } 529 } 530 }, 531 "generator": false, 532 "async": false, 533 "expression": false, 534 "params": [], 535 "body": { 536 "type": "BlockStatement", 537 "statements": [], 538 "loc": { 539 "start": { 540 "line": 1, 541 "column": 1 542 }, 543 "end": { 544 "line": 1, 545 "column": 1 546 } 547 } 548 }, 549 "loc": { 550 "start": { 551 "line": 1, 552 "column": 1 553 }, 554 "end": { 555 "line": 1, 556 "column": 1 557 } 558 } 559 }, 560 "loc": { 561 "start": { 562 "line": 1, 563 "column": 1 564 }, 565 "end": { 566 "line": 1, 567 "column": 1 568 } 569 } 570 }, 571 "overloads": [], 572 "decorators": [], 573 "loc": { 574 "start": { 575 "line": 22, 576 "column": 2 577 }, 578 "end": { 579 "line": 22, 580 "column": 2 581 } 582 } 583 } 584 ], 585 "loc": { 586 "start": { 587 "line": 16, 588 "column": 27 589 }, 590 "end": { 591 "line": 22, 592 "column": 2 593 } 594 } 595 }, 596 "loc": { 597 "start": { 598 "line": 16, 599 "column": 1 600 }, 601 "end": { 602 "line": 22, 603 "column": 2 604 } 605 } 606 }, 607 { 608 "type": "ClassDeclaration", 609 "definition": { 610 "id": { 611 "type": "Identifier", 612 "name": "ETSGLOBAL", 613 "decorators": [], 614 "loc": { 615 "start": { 616 "line": 1, 617 "column": 1 618 }, 619 "end": { 620 "line": 1, 621 "column": 1 622 } 623 } 624 }, 625 "superClass": null, 626 "implements": [], 627 "body": [ 628 { 629 "type": "MethodDefinition", 630 "key": { 631 "type": "Identifier", 632 "name": "_$init$_", 633 "decorators": [], 634 "loc": { 635 "start": { 636 "line": 1, 637 "column": 1 638 }, 639 "end": { 640 "line": 1, 641 "column": 1 642 } 643 } 644 }, 645 "kind": "method", 646 "accessibility": "public", 647 "static": true, 648 "optional": false, 649 "computed": false, 650 "value": { 651 "type": "FunctionExpression", 652 "function": { 653 "type": "ScriptFunction", 654 "id": { 655 "type": "Identifier", 656 "name": "_$init$_", 657 "decorators": [], 658 "loc": { 659 "start": { 660 "line": 1, 661 "column": 1 662 }, 663 "end": { 664 "line": 1, 665 "column": 1 666 } 667 } 668 }, 669 "generator": false, 670 "async": false, 671 "expression": false, 672 "params": [], 673 "body": { 674 "type": "BlockStatement", 675 "statements": [], 676 "loc": { 677 "start": { 678 "line": 1, 679 "column": 1 680 }, 681 "end": { 682 "line": 1, 683 "column": 1 684 } 685 } 686 }, 687 "loc": { 688 "start": { 689 "line": 1, 690 "column": 1 691 }, 692 "end": { 693 "line": 1, 694 "column": 1 695 } 696 } 697 }, 698 "loc": { 699 "start": { 700 "line": 1, 701 "column": 1 702 }, 703 "end": { 704 "line": 1, 705 "column": 1 706 } 707 } 708 }, 709 "overloads": [], 710 "decorators": [], 711 "loc": { 712 "start": { 713 "line": 1, 714 "column": 1 715 }, 716 "end": { 717 "line": 1, 718 "column": 1 719 } 720 } 721 } 722 ], 723 "loc": { 724 "start": { 725 "line": 1, 726 "column": 1 727 }, 728 "end": { 729 "line": 1, 730 "column": 1 731 } 732 } 733 }, 734 "loc": { 735 "start": { 736 "line": 1, 737 "column": 1 738 }, 739 "end": { 740 "line": 1, 741 "column": 1 742 } 743 } 744 } 745 ], 746 "loc": { 747 "start": { 748 "line": 1, 749 "column": 1 750 }, 751 "end": { 752 "line": 23, 753 "column": 1 754 } 755 } 756} 757