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