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