1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "Anno", 10 "loc": { 11 "start": { 12 "line": 16, 13 "column": 12 14 }, 15 "end": { 16 "line": 16, 17 "column": 16 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": 17 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": "A", 220 "loc": { 221 "start": { 222 "line": 21, 223 "column": 7 224 }, 225 "end": { 226 "line": 21, 227 "column": 8 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": "BlockStatement", 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 { 302 "type": "Annotation", 303 "expression": { 304 "type": "CallExpression", 305 "callee": { 306 "type": "Identifier", 307 "name": "__$$ETS_ANNOTATION$$__Anno", 308 "loc": { 309 "start": { 310 "line": 20, 311 "column": 2 312 }, 313 "end": { 314 "line": 20, 315 "column": 28 316 } 317 } 318 }, 319 "arguments": [ 320 { 321 "type": "ObjectExpression", 322 "properties": [ 323 { 324 "type": "Property", 325 "method": false, 326 "shorthand": false, 327 "computed": false, 328 "key": { 329 "type": "Identifier", 330 "name": "a", 331 "loc": { 332 "start": { 333 "line": 20, 334 "column": 30 335 }, 336 "end": { 337 "line": 20, 338 "column": 31 339 } 340 } 341 }, 342 "value": { 343 "type": "ArrayExpression", 344 "elements": [ 345 { 346 "type": "ArrayExpression", 347 "elements": [ 348 { 349 "type": "ArrayExpression", 350 "elements": [ 351 { 352 "type": "StringLiteral", 353 "value": "Hello", 354 "loc": { 355 "start": { 356 "line": 20, 357 "column": 36 358 }, 359 "end": { 360 "line": 20, 361 "column": 43 362 } 363 } 364 }, 365 { 366 "type": "StringLiteral", 367 "value": "world", 368 "loc": { 369 "start": { 370 "line": 20, 371 "column": 45 372 }, 373 "end": { 374 "line": 20, 375 "column": 52 376 } 377 } 378 }, 379 { 380 "type": "StringLiteral", 381 "value": "!", 382 "loc": { 383 "start": { 384 "line": 20, 385 "column": 54 386 }, 387 "end": { 388 "line": 20, 389 "column": 57 390 } 391 } 392 } 393 ], 394 "loc": { 395 "start": { 396 "line": 20, 397 "column": 35 398 }, 399 "end": { 400 "line": 20, 401 "column": 58 402 } 403 } 404 } 405 ], 406 "loc": { 407 "start": { 408 "line": 20, 409 "column": 34 410 }, 411 "end": { 412 "line": 20, 413 "column": 59 414 } 415 } 416 } 417 ], 418 "loc": { 419 "start": { 420 "line": 20, 421 "column": 33 422 }, 423 "end": { 424 "line": 20, 425 "column": 60 426 } 427 } 428 }, 429 "kind": "init", 430 "loc": { 431 "start": { 432 "line": 20, 433 "column": 30 434 }, 435 "end": { 436 "line": 20, 437 "column": 60 438 } 439 } 440 } 441 ], 442 "loc": { 443 "start": { 444 "line": 20, 445 "column": 29 446 }, 447 "end": { 448 "line": 20, 449 "column": 61 450 } 451 } 452 } 453 ], 454 "optional": false, 455 "loc": { 456 "start": { 457 "line": 20, 458 "column": 2 459 }, 460 "end": { 461 "line": 20, 462 "column": 62 463 } 464 } 465 }, 466 "name": "Anno", 467 "isImported": false, 468 "loc": { 469 "start": { 470 "line": 20, 471 "column": 1 472 }, 473 "end": { 474 "line": 20, 475 "column": 62 476 } 477 } 478 } 479 ], 480 "loc": { 481 "start": { 482 "line": 21, 483 "column": 1 484 }, 485 "end": { 486 "line": 24, 487 "column": 2 488 } 489 } 490 }, 491 "body": [ 492 { 493 "type": "MethodDefinition", 494 "key": { 495 "type": "Identifier", 496 "name": "foo", 497 "loc": { 498 "start": { 499 "line": 23, 500 "column": 5 501 }, 502 "end": { 503 "line": 23, 504 "column": 8 505 } 506 } 507 }, 508 "kind": "method", 509 "static": false, 510 "optional": false, 511 "computed": false, 512 "value": { 513 "type": "FunctionExpression", 514 "function": { 515 "type": "ScriptFunction", 516 "id": null, 517 "generator": false, 518 "async": false, 519 "expression": false, 520 "params": [], 521 "body": { 522 "type": "BlockStatement", 523 "statements": [], 524 "loc": { 525 "start": { 526 "line": 23, 527 "column": 11 528 }, 529 "end": { 530 "line": 23, 531 "column": 13 532 } 533 } 534 }, 535 "loc": { 536 "start": { 537 "line": 23, 538 "column": 8 539 }, 540 "end": { 541 "line": 23, 542 "column": 13 543 } 544 } 545 }, 546 "loc": { 547 "start": { 548 "line": 23, 549 "column": 8 550 }, 551 "end": { 552 "line": 23, 553 "column": 13 554 } 555 } 556 }, 557 "overloads": [], 558 "decorators": [], 559 "annotations": [ 560 { 561 "type": "Annotation", 562 "expression": { 563 "type": "CallExpression", 564 "callee": { 565 "type": "Identifier", 566 "name": "__$$ETS_ANNOTATION$$__Anno", 567 "loc": { 568 "start": { 569 "line": 22, 570 "column": 6 571 }, 572 "end": { 573 "line": 22, 574 "column": 32 575 } 576 } 577 }, 578 "arguments": [ 579 { 580 "type": "ObjectExpression", 581 "properties": [ 582 { 583 "type": "Property", 584 "method": false, 585 "shorthand": false, 586 "computed": false, 587 "key": { 588 "type": "Identifier", 589 "name": "a", 590 "loc": { 591 "start": { 592 "line": 22, 593 "column": 34 594 }, 595 "end": { 596 "line": 22, 597 "column": 35 598 } 599 } 600 }, 601 "value": { 602 "type": "ArrayExpression", 603 "elements": [ 604 { 605 "type": "ArrayExpression", 606 "elements": [ 607 { 608 "type": "NewExpression", 609 "callee": { 610 "type": "Identifier", 611 "name": "Array", 612 "loc": { 613 "start": { 614 "line": 22, 615 "column": 43 616 }, 617 "end": { 618 "line": 22, 619 "column": 48 620 } 621 } 622 }, 623 "typeParameters": { 624 "type": "TSTypeParameterInstantiation", 625 "params": [ 626 { 627 "type": "TSStringKeyword", 628 "loc": { 629 "start": { 630 "line": 22, 631 "column": 49 632 }, 633 "end": { 634 "line": 22, 635 "column": 55 636 } 637 } 638 } 639 ], 640 "loc": { 641 "start": { 642 "line": 22, 643 "column": 48 644 }, 645 "end": { 646 "line": 22, 647 "column": 56 648 } 649 } 650 }, 651 "arguments": [], 652 "loc": { 653 "start": { 654 "line": 22, 655 "column": 39 656 }, 657 "end": { 658 "line": 22, 659 "column": 58 660 } 661 } 662 } 663 ], 664 "loc": { 665 "start": { 666 "line": 22, 667 "column": 38 668 }, 669 "end": { 670 "line": 22, 671 "column": 59 672 } 673 } 674 } 675 ], 676 "loc": { 677 "start": { 678 "line": 22, 679 "column": 37 680 }, 681 "end": { 682 "line": 22, 683 "column": 60 684 } 685 } 686 }, 687 "kind": "init", 688 "loc": { 689 "start": { 690 "line": 22, 691 "column": 34 692 }, 693 "end": { 694 "line": 22, 695 "column": 60 696 } 697 } 698 } 699 ], 700 "loc": { 701 "start": { 702 "line": 22, 703 "column": 33 704 }, 705 "end": { 706 "line": 22, 707 "column": 61 708 } 709 } 710 } 711 ], 712 "optional": false, 713 "loc": { 714 "start": { 715 "line": 22, 716 "column": 6 717 }, 718 "end": { 719 "line": 22, 720 "column": 62 721 } 722 } 723 }, 724 "name": "Anno", 725 "isImported": false, 726 "loc": { 727 "start": { 728 "line": 22, 729 "column": 5 730 }, 731 "end": { 732 "line": 22, 733 "column": 62 734 } 735 } 736 } 737 ], 738 "loc": { 739 "start": { 740 "line": 22, 741 "column": 5 742 }, 743 "end": { 744 "line": 23, 745 "column": 13 746 } 747 } 748 } 749 ], 750 "indexSignatures": [], 751 "loc": { 752 "start": { 753 "line": 21, 754 "column": 9 755 }, 756 "end": { 757 "line": 24, 758 "column": 2 759 } 760 } 761 }, 762 "decorators": [], 763 "isAnnotationDeclaration": false, 764 "loc": { 765 "start": { 766 "line": 21, 767 "column": 1 768 }, 769 "end": { 770 "line": 24, 771 "column": 2 772 } 773 } 774 } 775 ], 776 "loc": { 777 "start": { 778 "line": 1, 779 "column": 1 780 }, 781 "end": { 782 "line": 24, 783 "column": 2 784 } 785 } 786} 787