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