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