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