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