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