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