1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "Anno1", 10 "loc": { 11 "start": { 12 "line": 16, 13 "column": 12 14 }, 15 "end": { 16 "line": 16, 17 "column": 17 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": "Program", 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": 16, 94 "column": 2 95 }, 96 "end": { 97 "line": 18, 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": 17, 111 "column": 5 112 }, 113 "end": { 114 "line": 17, 115 "column": 6 116 } 117 } 118 }, 119 "static": false, 120 "readonly": false, 121 "declare": false, 122 "optional": false, 123 "computed": false, 124 "typeAnnotation": { 125 "type": "TSArrayType", 126 "elementType": { 127 "type": "TSArrayType", 128 "elementType": { 129 "type": "TSArrayType", 130 "elementType": { 131 "type": "TSStringKeyword", 132 "loc": { 133 "start": { 134 "line": 17, 135 "column": 8 136 }, 137 "end": { 138 "line": 17, 139 "column": 14 140 } 141 } 142 }, 143 "loc": { 144 "start": { 145 "line": 17, 146 "column": 8 147 }, 148 "end": { 149 "line": 17, 150 "column": 16 151 } 152 } 153 }, 154 "loc": { 155 "start": { 156 "line": 17, 157 "column": 8 158 }, 159 "end": { 160 "line": 17, 161 "column": 18 162 } 163 } 164 }, 165 "loc": { 166 "start": { 167 "line": 17, 168 "column": 8 169 }, 170 "end": { 171 "line": 17, 172 "column": 20 173 } 174 } 175 }, 176 "decorators": [], 177 "loc": { 178 "start": { 179 "line": 17, 180 "column": 5 181 }, 182 "end": { 183 "line": 17, 184 "column": 6 185 } 186 } 187 } 188 ], 189 "indexSignatures": [], 190 "loc": { 191 "start": { 192 "line": 16, 193 "column": 18 194 }, 195 "end": { 196 "line": 18, 197 "column": 2 198 } 199 } 200 }, 201 "decorators": [], 202 "isAnnotationDeclaration": true, 203 "loc": { 204 "start": { 205 "line": 16, 206 "column": 2 207 }, 208 "end": { 209 "line": 18, 210 "column": 2 211 } 212 } 213 }, 214 { 215 "type": "ClassDeclaration", 216 "definition": { 217 "id": { 218 "type": "Identifier", 219 "name": "Anno2", 220 "loc": { 221 "start": { 222 "line": 20, 223 "column": 12 224 }, 225 "end": { 226 "line": 20, 227 "column": 17 228 } 229 } 230 }, 231 "superClass": null, 232 "implements": [], 233 "constructor": { 234 "type": "MethodDefinition", 235 "key": { 236 "type": "Identifier", 237 "name": "constructor", 238 "loc": { 239 "start": { 240 "line": 1, 241 "column": 1 242 }, 243 "end": { 244 "line": 1, 245 "column": 1 246 } 247 } 248 }, 249 "kind": "constructor", 250 "static": false, 251 "optional": false, 252 "computed": false, 253 "value": { 254 "type": "FunctionExpression", 255 "function": { 256 "type": "ScriptFunction", 257 "id": null, 258 "generator": false, 259 "async": false, 260 "expression": false, 261 "params": [], 262 "body": { 263 "type": "Program", 264 "statements": [], 265 "loc": { 266 "start": { 267 "line": 1, 268 "column": 1 269 }, 270 "end": { 271 "line": 1, 272 "column": 1 273 } 274 } 275 }, 276 "loc": { 277 "start": { 278 "line": 1, 279 "column": 1 280 }, 281 "end": { 282 "line": 1, 283 "column": 1 284 } 285 } 286 }, 287 "loc": { 288 "start": { 289 "line": 1, 290 "column": 1 291 }, 292 "end": { 293 "line": 1, 294 "column": 1 295 } 296 } 297 }, 298 "overloads": [], 299 "decorators": [], 300 "annotations": [], 301 "loc": { 302 "start": { 303 "line": 20, 304 "column": 2 305 }, 306 "end": { 307 "line": 22, 308 "column": 2 309 } 310 } 311 }, 312 "body": [ 313 { 314 "type": "ClassProperty", 315 "key": { 316 "type": "Identifier", 317 "name": "a", 318 "loc": { 319 "start": { 320 "line": 21, 321 "column": 5 322 }, 323 "end": { 324 "line": 21, 325 "column": 6 326 } 327 } 328 }, 329 "value": { 330 "type": "ArrayExpression", 331 "elements": [ 332 { 333 "type": "ArrayExpression", 334 "elements": [ 335 { 336 "type": "NewExpression", 337 "callee": { 338 "type": "Identifier", 339 "name": "Array", 340 "loc": { 341 "start": { 342 "line": 21, 343 "column": 29 344 }, 345 "end": { 346 "line": 21, 347 "column": 34 348 } 349 } 350 }, 351 "typeParameters": { 352 "type": "TSTypeParameterInstantiation", 353 "params": [ 354 { 355 "type": "TSStringKeyword", 356 "loc": { 357 "start": { 358 "line": 21, 359 "column": 35 360 }, 361 "end": { 362 "line": 21, 363 "column": 41 364 } 365 } 366 } 367 ], 368 "loc": { 369 "start": { 370 "line": 21, 371 "column": 34 372 }, 373 "end": { 374 "line": 21, 375 "column": 42 376 } 377 } 378 }, 379 "arguments": [], 380 "loc": { 381 "start": { 382 "line": 21, 383 "column": 25 384 }, 385 "end": { 386 "line": 21, 387 "column": 44 388 } 389 } 390 } 391 ], 392 "loc": { 393 "start": { 394 "line": 21, 395 "column": 24 396 }, 397 "end": { 398 "line": 21, 399 "column": 45 400 } 401 } 402 } 403 ], 404 "loc": { 405 "start": { 406 "line": 21, 407 "column": 23 408 }, 409 "end": { 410 "line": 21, 411 "column": 46 412 } 413 } 414 }, 415 "static": false, 416 "readonly": false, 417 "declare": false, 418 "optional": false, 419 "computed": false, 420 "typeAnnotation": { 421 "type": "TSArrayType", 422 "elementType": { 423 "type": "TSArrayType", 424 "elementType": { 425 "type": "TSArrayType", 426 "elementType": { 427 "type": "TSStringKeyword", 428 "loc": { 429 "start": { 430 "line": 21, 431 "column": 8 432 }, 433 "end": { 434 "line": 21, 435 "column": 14 436 } 437 } 438 }, 439 "loc": { 440 "start": { 441 "line": 21, 442 "column": 8 443 }, 444 "end": { 445 "line": 21, 446 "column": 16 447 } 448 } 449 }, 450 "loc": { 451 "start": { 452 "line": 21, 453 "column": 8 454 }, 455 "end": { 456 "line": 21, 457 "column": 18 458 } 459 } 460 }, 461 "loc": { 462 "start": { 463 "line": 21, 464 "column": 8 465 }, 466 "end": { 467 "line": 21, 468 "column": 20 469 } 470 } 471 }, 472 "decorators": [], 473 "loc": { 474 "start": { 475 "line": 21, 476 "column": 5 477 }, 478 "end": { 479 "line": 21, 480 "column": 46 481 } 482 } 483 } 484 ], 485 "indexSignatures": [], 486 "loc": { 487 "start": { 488 "line": 20, 489 "column": 18 490 }, 491 "end": { 492 "line": 22, 493 "column": 2 494 } 495 } 496 }, 497 "decorators": [], 498 "isAnnotationDeclaration": true, 499 "loc": { 500 "start": { 501 "line": 20, 502 "column": 2 503 }, 504 "end": { 505 "line": 22, 506 "column": 2 507 } 508 } 509 }, 510 { 511 "type": "ClassDeclaration", 512 "definition": { 513 "id": { 514 "type": "Identifier", 515 "name": "Anno3", 516 "loc": { 517 "start": { 518 "line": 24, 519 "column": 12 520 }, 521 "end": { 522 "line": 24, 523 "column": 17 524 } 525 } 526 }, 527 "superClass": null, 528 "implements": [], 529 "constructor": { 530 "type": "MethodDefinition", 531 "key": { 532 "type": "Identifier", 533 "name": "constructor", 534 "loc": { 535 "start": { 536 "line": 1, 537 "column": 1 538 }, 539 "end": { 540 "line": 1, 541 "column": 1 542 } 543 } 544 }, 545 "kind": "constructor", 546 "static": false, 547 "optional": false, 548 "computed": false, 549 "value": { 550 "type": "FunctionExpression", 551 "function": { 552 "type": "ScriptFunction", 553 "id": null, 554 "generator": false, 555 "async": false, 556 "expression": false, 557 "params": [], 558 "body": { 559 "type": "Program", 560 "statements": [], 561 "loc": { 562 "start": { 563 "line": 1, 564 "column": 1 565 }, 566 "end": { 567 "line": 1, 568 "column": 1 569 } 570 } 571 }, 572 "loc": { 573 "start": { 574 "line": 1, 575 "column": 1 576 }, 577 "end": { 578 "line": 1, 579 "column": 1 580 } 581 } 582 }, 583 "loc": { 584 "start": { 585 "line": 1, 586 "column": 1 587 }, 588 "end": { 589 "line": 1, 590 "column": 1 591 } 592 } 593 }, 594 "overloads": [], 595 "decorators": [], 596 "annotations": [], 597 "loc": { 598 "start": { 599 "line": 24, 600 "column": 2 601 }, 602 "end": { 603 "line": 26, 604 "column": 2 605 } 606 } 607 }, 608 "body": [ 609 { 610 "type": "ClassProperty", 611 "key": { 612 "type": "Identifier", 613 "name": "a", 614 "loc": { 615 "start": { 616 "line": 25, 617 "column": 5 618 }, 619 "end": { 620 "line": 25, 621 "column": 6 622 } 623 } 624 }, 625 "value": { 626 "type": "ArrayExpression", 627 "elements": [ 628 { 629 "type": "ArrayExpression", 630 "elements": [ 631 { 632 "type": "ArrayExpression", 633 "elements": [ 634 { 635 "type": "StringLiteral", 636 "value": "hello", 637 "loc": { 638 "start": { 639 "line": 25, 640 "column": 26 641 }, 642 "end": { 643 "line": 25, 644 "column": 33 645 } 646 } 647 }, 648 { 649 "type": "StringLiteral", 650 "value": "world", 651 "loc": { 652 "start": { 653 "line": 25, 654 "column": 35 655 }, 656 "end": { 657 "line": 25, 658 "column": 42 659 } 660 } 661 } 662 ], 663 "loc": { 664 "start": { 665 "line": 25, 666 "column": 25 667 }, 668 "end": { 669 "line": 25, 670 "column": 43 671 } 672 } 673 }, 674 { 675 "type": "ArrayExpression", 676 "elements": [ 677 { 678 "type": "StringLiteral", 679 "value": "hello", 680 "loc": { 681 "start": { 682 "line": 25, 683 "column": 46 684 }, 685 "end": { 686 "line": 25, 687 "column": 53 688 } 689 } 690 }, 691 { 692 "type": "StringLiteral", 693 "value": "world", 694 "loc": { 695 "start": { 696 "line": 25, 697 "column": 55 698 }, 699 "end": { 700 "line": 25, 701 "column": 62 702 } 703 } 704 } 705 ], 706 "loc": { 707 "start": { 708 "line": 25, 709 "column": 45 710 }, 711 "end": { 712 "line": 25, 713 "column": 63 714 } 715 } 716 } 717 ], 718 "loc": { 719 "start": { 720 "line": 25, 721 "column": 24 722 }, 723 "end": { 724 "line": 25, 725 "column": 64 726 } 727 } 728 } 729 ], 730 "loc": { 731 "start": { 732 "line": 25, 733 "column": 23 734 }, 735 "end": { 736 "line": 25, 737 "column": 65 738 } 739 } 740 }, 741 "static": false, 742 "readonly": false, 743 "declare": false, 744 "optional": false, 745 "computed": false, 746 "typeAnnotation": { 747 "type": "TSArrayType", 748 "elementType": { 749 "type": "TSArrayType", 750 "elementType": { 751 "type": "TSArrayType", 752 "elementType": { 753 "type": "TSStringKeyword", 754 "loc": { 755 "start": { 756 "line": 25, 757 "column": 8 758 }, 759 "end": { 760 "line": 25, 761 "column": 14 762 } 763 } 764 }, 765 "loc": { 766 "start": { 767 "line": 25, 768 "column": 8 769 }, 770 "end": { 771 "line": 25, 772 "column": 16 773 } 774 } 775 }, 776 "loc": { 777 "start": { 778 "line": 25, 779 "column": 8 780 }, 781 "end": { 782 "line": 25, 783 "column": 18 784 } 785 } 786 }, 787 "loc": { 788 "start": { 789 "line": 25, 790 "column": 8 791 }, 792 "end": { 793 "line": 25, 794 "column": 20 795 } 796 } 797 }, 798 "decorators": [], 799 "loc": { 800 "start": { 801 "line": 25, 802 "column": 5 803 }, 804 "end": { 805 "line": 25, 806 "column": 65 807 } 808 } 809 } 810 ], 811 "indexSignatures": [], 812 "loc": { 813 "start": { 814 "line": 24, 815 "column": 18 816 }, 817 "end": { 818 "line": 26, 819 "column": 2 820 } 821 } 822 }, 823 "decorators": [], 824 "isAnnotationDeclaration": true, 825 "loc": { 826 "start": { 827 "line": 24, 828 "column": 2 829 }, 830 "end": { 831 "line": 26, 832 "column": 2 833 } 834 } 835 } 836 ], 837 "loc": { 838 "start": { 839 "line": 1, 840 "column": 1 841 }, 842 "end": { 843 "line": 27, 844 "column": 1 845 } 846 } 847} 848