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