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