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