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