1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSEnumDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "A",
9        "decorators": [],
10        "loc": {
11          "start": {
12            "line": 16,
13            "column": 6
14          },
15          "end": {
16            "line": 16,
17            "column": 7
18          }
19        }
20      },
21      "members": [
22        {
23          "type": "TSEnumMember",
24          "id": {
25            "type": "Identifier",
26            "name": "B",
27            "decorators": [],
28            "loc": {
29              "start": {
30                "line": 17,
31                "column": 5
32              },
33              "end": {
34                "line": 17,
35                "column": 6
36              }
37            }
38          },
39          "initializer": {
40            "type": "NumberLiteral",
41            "value": 0,
42            "loc": {
43              "start": {
44                "line": 1,
45                "column": 1
46              },
47              "end": {
48                "line": 1,
49                "column": 1
50              }
51            }
52          },
53          "loc": {
54            "start": {
55              "line": 17,
56              "column": 5
57            },
58            "end": {
59              "line": 17,
60              "column": 6
61            }
62          }
63        },
64        {
65          "type": "TSEnumMember",
66          "id": {
67            "type": "Identifier",
68            "name": "C",
69            "decorators": [],
70            "loc": {
71              "start": {
72                "line": 17,
73                "column": 8
74              },
75              "end": {
76                "line": 17,
77                "column": 9
78              }
79            }
80          },
81          "initializer": {
82            "type": "NumberLiteral",
83            "value": 1,
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": 17,
98              "column": 8
99            },
100            "end": {
101              "line": 17,
102              "column": 9
103            }
104          }
105        },
106        {
107          "type": "TSEnumMember",
108          "id": {
109            "type": "Identifier",
110            "name": "D",
111            "decorators": [],
112            "loc": {
113              "start": {
114                "line": 17,
115                "column": 11
116              },
117              "end": {
118                "line": 17,
119                "column": 12
120              }
121            }
122          },
123          "initializer": {
124            "type": "NumberLiteral",
125            "value": 2,
126            "loc": {
127              "start": {
128                "line": 1,
129                "column": 1
130              },
131              "end": {
132                "line": 1,
133                "column": 1
134              }
135            }
136          },
137          "loc": {
138            "start": {
139              "line": 17,
140              "column": 11
141            },
142            "end": {
143              "line": 17,
144              "column": 12
145            }
146          }
147        }
148      ],
149      "const": false,
150      "loc": {
151        "start": {
152          "line": 16,
153          "column": 1
154        },
155        "end": {
156          "line": 18,
157          "column": 2
158        }
159      }
160    },
161    {
162      "type": "ClassDeclaration",
163      "definition": {
164        "id": {
165          "type": "Identifier",
166          "name": "ETSGLOBAL",
167          "decorators": [],
168          "loc": {
169            "start": {
170              "line": 1,
171              "column": 1
172            },
173            "end": {
174              "line": 1,
175              "column": 1
176            }
177          }
178        },
179        "superClass": null,
180        "implements": [],
181        "body": [
182          {
183            "type": "MethodDefinition",
184            "key": {
185              "type": "Identifier",
186              "name": "_$init$_",
187              "decorators": [],
188              "loc": {
189                "start": {
190                  "line": 1,
191                  "column": 1
192                },
193                "end": {
194                  "line": 1,
195                  "column": 1
196                }
197              }
198            },
199            "kind": "method",
200            "accessibility": "public",
201            "static": true,
202            "optional": false,
203            "computed": false,
204            "value": {
205              "type": "FunctionExpression",
206              "function": {
207                "type": "ScriptFunction",
208                "id": {
209                  "type": "Identifier",
210                  "name": "_$init$_",
211                  "decorators": [],
212                  "loc": {
213                    "start": {
214                      "line": 1,
215                      "column": 1
216                    },
217                    "end": {
218                      "line": 1,
219                      "column": 1
220                    }
221                  }
222                },
223                "generator": false,
224                "async": false,
225                "expression": false,
226                "params": [],
227                "body": {
228                  "type": "BlockStatement",
229                  "statements": [],
230                  "loc": {
231                    "start": {
232                      "line": 1,
233                      "column": 1
234                    },
235                    "end": {
236                      "line": 1,
237                      "column": 1
238                    }
239                  }
240                },
241                "loc": {
242                  "start": {
243                    "line": 1,
244                    "column": 1
245                  },
246                  "end": {
247                    "line": 1,
248                    "column": 1
249                  }
250                }
251              },
252              "loc": {
253                "start": {
254                  "line": 1,
255                  "column": 1
256                },
257                "end": {
258                  "line": 1,
259                  "column": 1
260                }
261              }
262            },
263            "overloads": [],
264            "decorators": [],
265            "loc": {
266              "start": {
267                "line": 1,
268                "column": 1
269              },
270              "end": {
271                "line": 1,
272                "column": 1
273              }
274            }
275          },
276          {
277            "type": "MethodDefinition",
278            "key": {
279              "type": "Identifier",
280              "name": "main",
281              "decorators": [],
282              "loc": {
283                "start": {
284                  "line": 20,
285                  "column": 10
286                },
287                "end": {
288                  "line": 20,
289                  "column": 14
290                }
291              }
292            },
293            "kind": "method",
294            "accessibility": "public",
295            "static": true,
296            "optional": false,
297            "computed": false,
298            "value": {
299              "type": "FunctionExpression",
300              "function": {
301                "type": "ScriptFunction",
302                "id": {
303                  "type": "Identifier",
304                  "name": "main",
305                  "decorators": [],
306                  "loc": {
307                    "start": {
308                      "line": 20,
309                      "column": 10
310                    },
311                    "end": {
312                      "line": 20,
313                      "column": 14
314                    }
315                  }
316                },
317                "generator": false,
318                "async": false,
319                "expression": false,
320                "params": [],
321                "body": {
322                  "type": "BlockStatement",
323                  "statements": [
324                    {
325                      "type": "VariableDeclaration",
326                      "declarations": [
327                        {
328                          "type": "VariableDeclarator",
329                          "id": {
330                            "type": "Identifier",
331                            "name": "k",
332                            "typeAnnotation": {
333                              "type": "ETSTypeReference",
334                              "part": {
335                                "type": "ETSTypeReferencePart",
336                                "name": {
337                                  "type": "Identifier",
338                                  "name": "A",
339                                  "decorators": [],
340                                  "loc": {
341                                    "start": {
342                                      "line": 21,
343                                      "column": 12
344                                    },
345                                    "end": {
346                                      "line": 21,
347                                      "column": 13
348                                    }
349                                  }
350                                },
351                                "loc": {
352                                  "start": {
353                                    "line": 21,
354                                    "column": 12
355                                  },
356                                  "end": {
357                                    "line": 21,
358                                    "column": 15
359                                  }
360                                }
361                              },
362                              "loc": {
363                                "start": {
364                                  "line": 21,
365                                  "column": 12
366                                },
367                                "end": {
368                                  "line": 21,
369                                  "column": 15
370                                }
371                              }
372                            },
373                            "decorators": [],
374                            "loc": {
375                              "start": {
376                                "line": 21,
377                                "column": 9
378                              },
379                              "end": {
380                                "line": 21,
381                                "column": 10
382                              }
383                            }
384                          },
385                          "init": {
386                            "type": "MemberExpression",
387                            "object": {
388                              "type": "Identifier",
389                              "name": "A",
390                              "decorators": [],
391                              "loc": {
392                                "start": {
393                                  "line": 21,
394                                  "column": 16
395                                },
396                                "end": {
397                                  "line": 21,
398                                  "column": 17
399                                }
400                              }
401                            },
402                            "property": {
403                              "type": "Identifier",
404                              "name": "D",
405                              "decorators": [],
406                              "loc": {
407                                "start": {
408                                  "line": 21,
409                                  "column": 18
410                                },
411                                "end": {
412                                  "line": 21,
413                                  "column": 19
414                                }
415                              }
416                            },
417                            "computed": false,
418                            "optional": false,
419                            "loc": {
420                              "start": {
421                                "line": 21,
422                                "column": 16
423                              },
424                              "end": {
425                                "line": 21,
426                                "column": 19
427                              }
428                            }
429                          },
430                          "loc": {
431                            "start": {
432                              "line": 21,
433                              "column": 9
434                            },
435                            "end": {
436                              "line": 21,
437                              "column": 19
438                            }
439                          }
440                        }
441                      ],
442                      "kind": "let",
443                      "loc": {
444                        "start": {
445                          "line": 21,
446                          "column": 5
447                        },
448                        "end": {
449                          "line": 21,
450                          "column": 19
451                        }
452                      }
453                    },
454                    {
455                      "type": "SwitchStatement",
456                      "discriminant": {
457                        "type": "Identifier",
458                        "name": "k",
459                        "decorators": [],
460                        "loc": {
461                          "start": {
462                            "line": 22,
463                            "column": 13
464                          },
465                          "end": {
466                            "line": 22,
467                            "column": 14
468                          }
469                        }
470                      },
471                      "cases": [
472                        {
473                          "type": "SwitchCase",
474                          "test": {
475                            "type": "MemberExpression",
476                            "object": {
477                              "type": "Identifier",
478                              "name": "A",
479                              "decorators": [],
480                              "loc": {
481                                "start": {
482                                  "line": 23,
483                                  "column": 14
484                                },
485                                "end": {
486                                  "line": 23,
487                                  "column": 15
488                                }
489                              }
490                            },
491                            "property": {
492                              "type": "Identifier",
493                              "name": "B",
494                              "decorators": [],
495                              "loc": {
496                                "start": {
497                                  "line": 23,
498                                  "column": 16
499                                },
500                                "end": {
501                                  "line": 23,
502                                  "column": 17
503                                }
504                              }
505                            },
506                            "computed": false,
507                            "optional": false,
508                            "loc": {
509                              "start": {
510                                "line": 23,
511                                "column": 14
512                              },
513                              "end": {
514                                "line": 23,
515                                "column": 17
516                              }
517                            }
518                          },
519                          "consequent": [
520                            {
521                              "type": "BreakStatement",
522                              "label": null,
523                              "loc": {
524                                "start": {
525                                  "line": 24,
526                                  "column": 13
527                                },
528                                "end": {
529                                  "line": 24,
530                                  "column": 19
531                                }
532                              }
533                            }
534                          ],
535                          "loc": {
536                            "start": {
537                              "line": 23,
538                              "column": 9
539                            },
540                            "end": {
541                              "line": 24,
542                              "column": 19
543                            }
544                          }
545                        },
546                        {
547                          "type": "SwitchCase",
548                          "test": {
549                            "type": "MemberExpression",
550                            "object": {
551                              "type": "Identifier",
552                              "name": "A",
553                              "decorators": [],
554                              "loc": {
555                                "start": {
556                                  "line": 25,
557                                  "column": 14
558                                },
559                                "end": {
560                                  "line": 25,
561                                  "column": 15
562                                }
563                              }
564                            },
565                            "property": {
566                              "type": "Identifier",
567                              "name": "C",
568                              "decorators": [],
569                              "loc": {
570                                "start": {
571                                  "line": 25,
572                                  "column": 16
573                                },
574                                "end": {
575                                  "line": 25,
576                                  "column": 17
577                                }
578                              }
579                            },
580                            "computed": false,
581                            "optional": false,
582                            "loc": {
583                              "start": {
584                                "line": 25,
585                                "column": 14
586                              },
587                              "end": {
588                                "line": 25,
589                                "column": 17
590                              }
591                            }
592                          },
593                          "consequent": [
594                            {
595                              "type": "BreakStatement",
596                              "label": null,
597                              "loc": {
598                                "start": {
599                                  "line": 26,
600                                  "column": 13
601                                },
602                                "end": {
603                                  "line": 26,
604                                  "column": 19
605                                }
606                              }
607                            }
608                          ],
609                          "loc": {
610                            "start": {
611                              "line": 25,
612                              "column": 9
613                            },
614                            "end": {
615                              "line": 26,
616                              "column": 19
617                            }
618                          }
619                        },
620                        {
621                          "type": "SwitchCase",
622                          "test": {
623                            "type": "MemberExpression",
624                            "object": {
625                              "type": "Identifier",
626                              "name": "A",
627                              "decorators": [],
628                              "loc": {
629                                "start": {
630                                  "line": 27,
631                                  "column": 14
632                                },
633                                "end": {
634                                  "line": 27,
635                                  "column": 15
636                                }
637                              }
638                            },
639                            "property": {
640                              "type": "Identifier",
641                              "name": "D",
642                              "decorators": [],
643                              "loc": {
644                                "start": {
645                                  "line": 27,
646                                  "column": 16
647                                },
648                                "end": {
649                                  "line": 27,
650                                  "column": 17
651                                }
652                              }
653                            },
654                            "computed": false,
655                            "optional": false,
656                            "loc": {
657                              "start": {
658                                "line": 27,
659                                "column": 14
660                              },
661                              "end": {
662                                "line": 27,
663                                "column": 17
664                              }
665                            }
666                          },
667                          "consequent": [
668                            {
669                              "type": "BreakStatement",
670                              "label": null,
671                              "loc": {
672                                "start": {
673                                  "line": 28,
674                                  "column": 13
675                                },
676                                "end": {
677                                  "line": 28,
678                                  "column": 19
679                                }
680                              }
681                            }
682                          ],
683                          "loc": {
684                            "start": {
685                              "line": 27,
686                              "column": 9
687                            },
688                            "end": {
689                              "line": 28,
690                              "column": 19
691                            }
692                          }
693                        }
694                      ],
695                      "loc": {
696                        "start": {
697                          "line": 22,
698                          "column": 5
699                        },
700                        "end": {
701                          "line": 29,
702                          "column": 6
703                        }
704                      }
705                    }
706                  ],
707                  "loc": {
708                    "start": {
709                      "line": 20,
710                      "column": 17
711                    },
712                    "end": {
713                      "line": 30,
714                      "column": 2
715                    }
716                  }
717                },
718                "loc": {
719                  "start": {
720                    "line": 20,
721                    "column": 14
722                  },
723                  "end": {
724                    "line": 30,
725                    "column": 2
726                  }
727                }
728              },
729              "loc": {
730                "start": {
731                  "line": 20,
732                  "column": 14
733                },
734                "end": {
735                  "line": 30,
736                  "column": 2
737                }
738              }
739            },
740            "overloads": [],
741            "decorators": [],
742            "loc": {
743              "start": {
744                "line": 20,
745                "column": 1
746              },
747              "end": {
748                "line": 30,
749                "column": 2
750              }
751            }
752          }
753        ],
754        "loc": {
755          "start": {
756            "line": 1,
757            "column": 1
758          },
759          "end": {
760            "line": 1,
761            "column": 1
762          }
763        }
764      },
765      "loc": {
766        "start": {
767          "line": 1,
768          "column": 1
769        },
770        "end": {
771          "line": 1,
772          "column": 1
773        }
774      }
775    },
776    {
777      "type": "ClassDeclaration",
778      "definition": {
779        "id": {
780          "type": "Identifier",
781          "name": "#A",
782          "decorators": [],
783          "loc": {
784            "start": {
785              "line": 1,
786              "column": 1
787            },
788            "end": {
789              "line": 1,
790              "column": 1
791            }
792          }
793        },
794        "superClass": null,
795        "implements": [],
796        "body": [
797          {
798            "type": "ClassProperty",
799            "key": {
800              "type": "Identifier",
801              "name": "ordinal",
802              "decorators": [],
803              "loc": {
804                "start": {
805                  "line": 1,
806                  "column": 1
807                },
808                "end": {
809                  "line": 1,
810                  "column": 1
811                }
812              }
813            },
814            "accessibility": "protected",
815            "static": false,
816            "readonly": false,
817            "declare": false,
818            "optional": false,
819            "computed": false,
820            "typeAnnotation": {
821              "type": "ETSPrimitiveType",
822              "loc": {
823                "start": {
824                  "line": 1,
825                  "column": 1
826                },
827                "end": {
828                  "line": 1,
829                  "column": 1
830                }
831              }
832            },
833            "definite": false,
834            "decorators": [],
835            "loc": {
836              "start": {
837                "line": 1,
838                "column": 1
839              },
840              "end": {
841                "line": 1,
842                "column": 1
843              }
844            }
845          },
846          {
847            "type": "MethodDefinition",
848            "key": {
849              "type": "Identifier",
850              "name": "<cctor>",
851              "decorators": [],
852              "loc": {
853                "start": {
854                  "line": 1,
855                  "column": 1
856                },
857                "end": {
858                  "line": 1,
859                  "column": 1
860                }
861              }
862            },
863            "kind": "method",
864            "accessibility": "public",
865            "static": true,
866            "optional": false,
867            "computed": false,
868            "value": {
869              "type": "FunctionExpression",
870              "function": {
871                "type": "ScriptFunction",
872                "id": {
873                  "type": "Identifier",
874                  "name": "<cctor>",
875                  "decorators": [],
876                  "loc": {
877                    "start": {
878                      "line": 1,
879                      "column": 1
880                    },
881                    "end": {
882                      "line": 1,
883                      "column": 1
884                    }
885                  }
886                },
887                "generator": false,
888                "async": false,
889                "expression": false,
890                "params": [],
891                "body": {
892                  "type": "BlockStatement",
893                  "statements": [],
894                  "loc": {
895                    "start": {
896                      "line": 1,
897                      "column": 1
898                    },
899                    "end": {
900                      "line": 1,
901                      "column": 1
902                    }
903                  }
904                },
905                "loc": {
906                  "start": {
907                    "line": 1,
908                    "column": 1
909                  },
910                  "end": {
911                    "line": 1,
912                    "column": 1
913                  }
914                }
915              },
916              "loc": {
917                "start": {
918                  "line": 1,
919                  "column": 1
920                },
921                "end": {
922                  "line": 1,
923                  "column": 1
924                }
925              }
926            },
927            "overloads": [],
928            "decorators": [],
929            "loc": {
930              "start": {
931                "line": 1,
932                "column": 1
933              },
934              "end": {
935                "line": 1,
936                "column": 1
937              }
938            }
939          },
940          {
941            "type": "MethodDefinition",
942            "key": {
943              "type": "Identifier",
944              "name": "constructor",
945              "decorators": [],
946              "loc": {
947                "start": {
948                  "line": 1,
949                  "column": 1
950                },
951                "end": {
952                  "line": 1,
953                  "column": 1
954                }
955              }
956            },
957            "kind": "constructor",
958            "accessibility": "public",
959            "static": false,
960            "optional": false,
961            "computed": false,
962            "value": {
963              "type": "FunctionExpression",
964              "function": {
965                "type": "ScriptFunction",
966                "id": {
967                  "type": "Identifier",
968                  "name": "constructor",
969                  "decorators": [],
970                  "loc": {
971                    "start": {
972                      "line": 1,
973                      "column": 1
974                    },
975                    "end": {
976                      "line": 1,
977                      "column": 1
978                    }
979                  }
980                },
981                "generator": false,
982                "async": false,
983                "expression": false,
984                "params": [
985                  {
986                    "type": "ETSParameterExpression",
987                    "name": {
988                      "type": "Identifier",
989                      "name": "ordinal",
990                      "typeAnnotation": {
991                        "type": "ETSPrimitiveType",
992                        "loc": {
993                          "start": {
994                            "line": 1,
995                            "column": 1
996                          },
997                          "end": {
998                            "line": 1,
999                            "column": 1
1000                          }
1001                        }
1002                      },
1003                      "decorators": [],
1004                      "loc": {
1005                        "start": {
1006                          "line": 1,
1007                          "column": 1
1008                        },
1009                        "end": {
1010                          "line": 1,
1011                          "column": 1
1012                        }
1013                      }
1014                    },
1015                    "loc": {
1016                      "start": {
1017                        "line": 1,
1018                        "column": 1
1019                      },
1020                      "end": {
1021                        "line": 1,
1022                        "column": 1
1023                      }
1024                    }
1025                  }
1026                ],
1027                "body": {
1028                  "type": "BlockStatement",
1029                  "statements": [
1030                    {
1031                      "type": "ExpressionStatement",
1032                      "expression": {
1033                        "type": "AssignmentExpression",
1034                        "operator": "=",
1035                        "left": {
1036                          "type": "MemberExpression",
1037                          "object": {
1038                            "type": "ThisExpression",
1039                            "loc": {
1040                              "start": {
1041                                "line": 1,
1042                                "column": 1
1043                              },
1044                              "end": {
1045                                "line": 1,
1046                                "column": 1
1047                              }
1048                            }
1049                          },
1050                          "property": {
1051                            "type": "Identifier",
1052                            "name": "ordinal",
1053                            "decorators": [],
1054                            "loc": {
1055                              "start": {
1056                                "line": 1,
1057                                "column": 1
1058                              },
1059                              "end": {
1060                                "line": 1,
1061                                "column": 1
1062                              }
1063                            }
1064                          },
1065                          "computed": false,
1066                          "optional": false,
1067                          "loc": {
1068                            "start": {
1069                              "line": 1,
1070                              "column": 1
1071                            },
1072                            "end": {
1073                              "line": 1,
1074                              "column": 1
1075                            }
1076                          }
1077                        },
1078                        "right": {
1079                          "type": "Identifier",
1080                          "name": "ordinal",
1081                          "decorators": [],
1082                          "loc": {
1083                            "start": {
1084                              "line": 1,
1085                              "column": 1
1086                            },
1087                            "end": {
1088                              "line": 1,
1089                              "column": 1
1090                            }
1091                          }
1092                        },
1093                        "loc": {
1094                          "start": {
1095                            "line": 1,
1096                            "column": 1
1097                          },
1098                          "end": {
1099                            "line": 1,
1100                            "column": 1
1101                          }
1102                        }
1103                      },
1104                      "loc": {
1105                        "start": {
1106                          "line": 1,
1107                          "column": 1
1108                        },
1109                        "end": {
1110                          "line": 1,
1111                          "column": 1
1112                        }
1113                      }
1114                    }
1115                  ],
1116                  "loc": {
1117                    "start": {
1118                      "line": 1,
1119                      "column": 1
1120                    },
1121                    "end": {
1122                      "line": 1,
1123                      "column": 1
1124                    }
1125                  }
1126                },
1127                "loc": {
1128                  "start": {
1129                    "line": 1,
1130                    "column": 1
1131                  },
1132                  "end": {
1133                    "line": 1,
1134                    "column": 1
1135                  }
1136                }
1137              },
1138              "loc": {
1139                "start": {
1140                  "line": 1,
1141                  "column": 1
1142                },
1143                "end": {
1144                  "line": 1,
1145                  "column": 1
1146                }
1147              }
1148            },
1149            "overloads": [],
1150            "decorators": [],
1151            "loc": {
1152              "start": {
1153                "line": 1,
1154                "column": 1
1155              },
1156              "end": {
1157                "line": 1,
1158                "column": 1
1159              }
1160            }
1161          },
1162          {
1163            "type": "ClassProperty",
1164            "key": {
1165              "type": "Identifier",
1166              "name": "NamesArray",
1167              "decorators": [],
1168              "loc": {
1169                "start": {
1170                  "line": 1,
1171                  "column": 1
1172                },
1173                "end": {
1174                  "line": 1,
1175                  "column": 1
1176                }
1177              }
1178            },
1179            "value": {
1180              "type": "ArrayExpression",
1181              "elements": [
1182                {
1183                  "type": "StringLiteral",
1184                  "value": "B",
1185                  "loc": {
1186                    "start": {
1187                      "line": 1,
1188                      "column": 1
1189                    },
1190                    "end": {
1191                      "line": 1,
1192                      "column": 1
1193                    }
1194                  }
1195                },
1196                {
1197                  "type": "StringLiteral",
1198                  "value": "C",
1199                  "loc": {
1200                    "start": {
1201                      "line": 1,
1202                      "column": 1
1203                    },
1204                    "end": {
1205                      "line": 1,
1206                      "column": 1
1207                    }
1208                  }
1209                },
1210                {
1211                  "type": "StringLiteral",
1212                  "value": "D",
1213                  "loc": {
1214                    "start": {
1215                      "line": 1,
1216                      "column": 1
1217                    },
1218                    "end": {
1219                      "line": 1,
1220                      "column": 1
1221                    }
1222                  }
1223                }
1224              ],
1225              "loc": {
1226                "start": {
1227                  "line": 1,
1228                  "column": 1
1229                },
1230                "end": {
1231                  "line": 1,
1232                  "column": 1
1233                }
1234              }
1235            },
1236            "accessibility": "protected",
1237            "static": true,
1238            "readonly": false,
1239            "declare": false,
1240            "optional": false,
1241            "computed": false,
1242            "typeAnnotation": {
1243              "type": "TSArrayType",
1244              "elementType": {
1245                "type": "ETSTypeReference",
1246                "part": {
1247                  "type": "ETSTypeReferencePart",
1248                  "name": {
1249                    "type": "Identifier",
1250                    "name": "String",
1251                    "decorators": [],
1252                    "loc": {
1253                      "start": {
1254                        "line": 1,
1255                        "column": 1
1256                      },
1257                      "end": {
1258                        "line": 1,
1259                        "column": 1
1260                      }
1261                    }
1262                  },
1263                  "loc": {
1264                    "start": {
1265                      "line": 1,
1266                      "column": 1
1267                    },
1268                    "end": {
1269                      "line": 1,
1270                      "column": 1
1271                    }
1272                  }
1273                },
1274                "loc": {
1275                  "start": {
1276                    "line": 1,
1277                    "column": 1
1278                  },
1279                  "end": {
1280                    "line": 1,
1281                    "column": 1
1282                  }
1283                }
1284              },
1285              "loc": {
1286                "start": {
1287                  "line": 1,
1288                  "column": 1
1289                },
1290                "end": {
1291                  "line": 1,
1292                  "column": 1
1293                }
1294              }
1295            },
1296            "definite": false,
1297            "decorators": [],
1298            "loc": {
1299              "start": {
1300                "line": 1,
1301                "column": 1
1302              },
1303              "end": {
1304                "line": 1,
1305                "column": 1
1306              }
1307            }
1308          },
1309          {
1310            "type": "ClassProperty",
1311            "key": {
1312              "type": "Identifier",
1313              "name": "ValuesArray",
1314              "decorators": [],
1315              "loc": {
1316                "start": {
1317                  "line": 1,
1318                  "column": 1
1319                },
1320                "end": {
1321                  "line": 1,
1322                  "column": 1
1323                }
1324              }
1325            },
1326            "value": {
1327              "type": "ArrayExpression",
1328              "elements": [
1329                {
1330                  "type": "NumberLiteral",
1331                  "value": 0,
1332                  "loc": {
1333                    "start": {
1334                      "line": 1,
1335                      "column": 1
1336                    },
1337                    "end": {
1338                      "line": 1,
1339                      "column": 1
1340                    }
1341                  }
1342                },
1343                {
1344                  "type": "NumberLiteral",
1345                  "value": 1,
1346                  "loc": {
1347                    "start": {
1348                      "line": 1,
1349                      "column": 1
1350                    },
1351                    "end": {
1352                      "line": 1,
1353                      "column": 1
1354                    }
1355                  }
1356                },
1357                {
1358                  "type": "NumberLiteral",
1359                  "value": 2,
1360                  "loc": {
1361                    "start": {
1362                      "line": 1,
1363                      "column": 1
1364                    },
1365                    "end": {
1366                      "line": 1,
1367                      "column": 1
1368                    }
1369                  }
1370                }
1371              ],
1372              "loc": {
1373                "start": {
1374                  "line": 1,
1375                  "column": 1
1376                },
1377                "end": {
1378                  "line": 1,
1379                  "column": 1
1380                }
1381              }
1382            },
1383            "accessibility": "protected",
1384            "static": true,
1385            "readonly": false,
1386            "declare": false,
1387            "optional": false,
1388            "computed": false,
1389            "typeAnnotation": {
1390              "type": "TSArrayType",
1391              "elementType": {
1392                "type": "ETSPrimitiveType",
1393                "loc": {
1394                  "start": {
1395                    "line": 1,
1396                    "column": 1
1397                  },
1398                  "end": {
1399                    "line": 1,
1400                    "column": 1
1401                  }
1402                }
1403              },
1404              "loc": {
1405                "start": {
1406                  "line": 1,
1407                  "column": 1
1408                },
1409                "end": {
1410                  "line": 1,
1411                  "column": 1
1412                }
1413              }
1414            },
1415            "definite": false,
1416            "decorators": [],
1417            "loc": {
1418              "start": {
1419                "line": 1,
1420                "column": 1
1421              },
1422              "end": {
1423                "line": 1,
1424                "column": 1
1425              }
1426            }
1427          },
1428          {
1429            "type": "ClassProperty",
1430            "key": {
1431              "type": "Identifier",
1432              "name": "StringValuesArray",
1433              "decorators": [],
1434              "loc": {
1435                "start": {
1436                  "line": 1,
1437                  "column": 1
1438                },
1439                "end": {
1440                  "line": 1,
1441                  "column": 1
1442                }
1443              }
1444            },
1445            "value": {
1446              "type": "ArrayExpression",
1447              "elements": [
1448                {
1449                  "type": "StringLiteral",
1450                  "value": "0",
1451                  "loc": {
1452                    "start": {
1453                      "line": 1,
1454                      "column": 1
1455                    },
1456                    "end": {
1457                      "line": 1,
1458                      "column": 1
1459                    }
1460                  }
1461                },
1462                {
1463                  "type": "StringLiteral",
1464                  "value": "1",
1465                  "loc": {
1466                    "start": {
1467                      "line": 1,
1468                      "column": 1
1469                    },
1470                    "end": {
1471                      "line": 1,
1472                      "column": 1
1473                    }
1474                  }
1475                },
1476                {
1477                  "type": "StringLiteral",
1478                  "value": "2",
1479                  "loc": {
1480                    "start": {
1481                      "line": 1,
1482                      "column": 1
1483                    },
1484                    "end": {
1485                      "line": 1,
1486                      "column": 1
1487                    }
1488                  }
1489                }
1490              ],
1491              "loc": {
1492                "start": {
1493                  "line": 1,
1494                  "column": 1
1495                },
1496                "end": {
1497                  "line": 1,
1498                  "column": 1
1499                }
1500              }
1501            },
1502            "accessibility": "protected",
1503            "static": true,
1504            "readonly": false,
1505            "declare": false,
1506            "optional": false,
1507            "computed": false,
1508            "typeAnnotation": {
1509              "type": "TSArrayType",
1510              "elementType": {
1511                "type": "ETSTypeReference",
1512                "part": {
1513                  "type": "ETSTypeReferencePart",
1514                  "name": {
1515                    "type": "Identifier",
1516                    "name": "String",
1517                    "decorators": [],
1518                    "loc": {
1519                      "start": {
1520                        "line": 1,
1521                        "column": 1
1522                      },
1523                      "end": {
1524                        "line": 1,
1525                        "column": 1
1526                      }
1527                    }
1528                  },
1529                  "loc": {
1530                    "start": {
1531                      "line": 1,
1532                      "column": 1
1533                    },
1534                    "end": {
1535                      "line": 1,
1536                      "column": 1
1537                    }
1538                  }
1539                },
1540                "loc": {
1541                  "start": {
1542                    "line": 1,
1543                    "column": 1
1544                  },
1545                  "end": {
1546                    "line": 1,
1547                    "column": 1
1548                  }
1549                }
1550              },
1551              "loc": {
1552                "start": {
1553                  "line": 1,
1554                  "column": 1
1555                },
1556                "end": {
1557                  "line": 1,
1558                  "column": 1
1559                }
1560              }
1561            },
1562            "definite": false,
1563            "decorators": [],
1564            "loc": {
1565              "start": {
1566                "line": 1,
1567                "column": 1
1568              },
1569              "end": {
1570                "line": 1,
1571                "column": 1
1572              }
1573            }
1574          },
1575          {
1576            "type": "ClassProperty",
1577            "key": {
1578              "type": "Identifier",
1579              "name": "ItemsArray",
1580              "decorators": [],
1581              "loc": {
1582                "start": {
1583                  "line": 1,
1584                  "column": 1
1585                },
1586                "end": {
1587                  "line": 1,
1588                  "column": 1
1589                }
1590              }
1591            },
1592            "value": {
1593              "type": "ArrayExpression",
1594              "elements": [
1595                {
1596                  "type": "MemberExpression",
1597                  "object": {
1598                    "type": "Identifier",
1599                    "name": "A",
1600                    "decorators": [],
1601                    "loc": {
1602                      "start": {
1603                        "line": 1,
1604                        "column": 1
1605                      },
1606                      "end": {
1607                        "line": 1,
1608                        "column": 1
1609                      }
1610                    }
1611                  },
1612                  "property": {
1613                    "type": "Identifier",
1614                    "name": "B",
1615                    "decorators": [],
1616                    "loc": {
1617                      "start": {
1618                        "line": 1,
1619                        "column": 1
1620                      },
1621                      "end": {
1622                        "line": 1,
1623                        "column": 1
1624                      }
1625                    }
1626                  },
1627                  "computed": false,
1628                  "optional": false,
1629                  "loc": {
1630                    "start": {
1631                      "line": 1,
1632                      "column": 1
1633                    },
1634                    "end": {
1635                      "line": 1,
1636                      "column": 1
1637                    }
1638                  }
1639                },
1640                {
1641                  "type": "MemberExpression",
1642                  "object": {
1643                    "type": "Identifier",
1644                    "name": "A",
1645                    "decorators": [],
1646                    "loc": {
1647                      "start": {
1648                        "line": 1,
1649                        "column": 1
1650                      },
1651                      "end": {
1652                        "line": 1,
1653                        "column": 1
1654                      }
1655                    }
1656                  },
1657                  "property": {
1658                    "type": "Identifier",
1659                    "name": "C",
1660                    "decorators": [],
1661                    "loc": {
1662                      "start": {
1663                        "line": 1,
1664                        "column": 1
1665                      },
1666                      "end": {
1667                        "line": 1,
1668                        "column": 1
1669                      }
1670                    }
1671                  },
1672                  "computed": false,
1673                  "optional": false,
1674                  "loc": {
1675                    "start": {
1676                      "line": 1,
1677                      "column": 1
1678                    },
1679                    "end": {
1680                      "line": 1,
1681                      "column": 1
1682                    }
1683                  }
1684                },
1685                {
1686                  "type": "MemberExpression",
1687                  "object": {
1688                    "type": "Identifier",
1689                    "name": "A",
1690                    "decorators": [],
1691                    "loc": {
1692                      "start": {
1693                        "line": 1,
1694                        "column": 1
1695                      },
1696                      "end": {
1697                        "line": 1,
1698                        "column": 1
1699                      }
1700                    }
1701                  },
1702                  "property": {
1703                    "type": "Identifier",
1704                    "name": "D",
1705                    "decorators": [],
1706                    "loc": {
1707                      "start": {
1708                        "line": 1,
1709                        "column": 1
1710                      },
1711                      "end": {
1712                        "line": 1,
1713                        "column": 1
1714                      }
1715                    }
1716                  },
1717                  "computed": false,
1718                  "optional": false,
1719                  "loc": {
1720                    "start": {
1721                      "line": 1,
1722                      "column": 1
1723                    },
1724                    "end": {
1725                      "line": 1,
1726                      "column": 1
1727                    }
1728                  }
1729                }
1730              ],
1731              "loc": {
1732                "start": {
1733                  "line": 1,
1734                  "column": 1
1735                },
1736                "end": {
1737                  "line": 1,
1738                  "column": 1
1739                }
1740              }
1741            },
1742            "accessibility": "protected",
1743            "static": true,
1744            "readonly": false,
1745            "declare": false,
1746            "optional": false,
1747            "computed": false,
1748            "typeAnnotation": {
1749              "type": "TSArrayType",
1750              "elementType": {
1751                "type": "ETSTypeReference",
1752                "part": {
1753                  "type": "ETSTypeReferencePart",
1754                  "name": {
1755                    "type": "Identifier",
1756                    "name": "A",
1757                    "decorators": [],
1758                    "loc": {
1759                      "start": {
1760                        "line": 1,
1761                        "column": 1
1762                      },
1763                      "end": {
1764                        "line": 1,
1765                        "column": 1
1766                      }
1767                    }
1768                  },
1769                  "loc": {
1770                    "start": {
1771                      "line": 1,
1772                      "column": 1
1773                    },
1774                    "end": {
1775                      "line": 1,
1776                      "column": 1
1777                    }
1778                  }
1779                },
1780                "loc": {
1781                  "start": {
1782                    "line": 1,
1783                    "column": 1
1784                  },
1785                  "end": {
1786                    "line": 1,
1787                    "column": 1
1788                  }
1789                }
1790              },
1791              "loc": {
1792                "start": {
1793                  "line": 1,
1794                  "column": 1
1795                },
1796                "end": {
1797                  "line": 1,
1798                  "column": 1
1799                }
1800              }
1801            },
1802            "definite": false,
1803            "decorators": [],
1804            "loc": {
1805              "start": {
1806                "line": 1,
1807                "column": 1
1808              },
1809              "end": {
1810                "line": 1,
1811                "column": 1
1812              }
1813            }
1814          },
1815          {
1816            "type": "ClassProperty",
1817            "key": {
1818              "type": "Identifier",
1819              "name": "BoxedItemsArray",
1820              "decorators": [],
1821              "loc": {
1822                "start": {
1823                  "line": 1,
1824                  "column": 1
1825                },
1826                "end": {
1827                  "line": 1,
1828                  "column": 1
1829                }
1830              }
1831            },
1832            "value": {
1833              "type": "ArrayExpression",
1834              "elements": [
1835                {
1836                  "type": "ETSNewClassInstanceExpression",
1837                  "typeReference": {
1838                    "type": "ETSTypeReference",
1839                    "part": {
1840                      "type": "ETSTypeReferencePart",
1841                      "name": {
1842                        "type": "Identifier",
1843                        "name": "#A",
1844                        "decorators": [],
1845                        "loc": {
1846                          "start": {
1847                            "line": 1,
1848                            "column": 1
1849                          },
1850                          "end": {
1851                            "line": 1,
1852                            "column": 1
1853                          }
1854                        }
1855                      },
1856                      "loc": {
1857                        "start": {
1858                          "line": 1,
1859                          "column": 1
1860                        },
1861                        "end": {
1862                          "line": 1,
1863                          "column": 1
1864                        }
1865                      }
1866                    },
1867                    "loc": {
1868                      "start": {
1869                        "line": 1,
1870                        "column": 1
1871                      },
1872                      "end": {
1873                        "line": 1,
1874                        "column": 1
1875                      }
1876                    }
1877                  },
1878                  "arguments": [
1879                    {
1880                      "type": "TSAsExpression",
1881                      "expression": {
1882                        "type": "MemberExpression",
1883                        "object": {
1884                          "type": "Identifier",
1885                          "name": "A",
1886                          "decorators": [],
1887                          "loc": {
1888                            "start": {
1889                              "line": 1,
1890                              "column": 1
1891                            },
1892                            "end": {
1893                              "line": 1,
1894                              "column": 1
1895                            }
1896                          }
1897                        },
1898                        "property": {
1899                          "type": "Identifier",
1900                          "name": "B",
1901                          "decorators": [],
1902                          "loc": {
1903                            "start": {
1904                              "line": 1,
1905                              "column": 1
1906                            },
1907                            "end": {
1908                              "line": 1,
1909                              "column": 1
1910                            }
1911                          }
1912                        },
1913                        "computed": false,
1914                        "optional": false,
1915                        "loc": {
1916                          "start": {
1917                            "line": 1,
1918                            "column": 1
1919                          },
1920                          "end": {
1921                            "line": 1,
1922                            "column": 1
1923                          }
1924                        }
1925                      },
1926                      "typeAnnotation": {
1927                        "type": "ETSPrimitiveType",
1928                        "loc": {
1929                          "start": {
1930                            "line": 1,
1931                            "column": 1
1932                          },
1933                          "end": {
1934                            "line": 1,
1935                            "column": 1
1936                          }
1937                        }
1938                      },
1939                      "loc": {
1940                        "start": {
1941                          "line": 1,
1942                          "column": 1
1943                        },
1944                        "end": {
1945                          "line": 1,
1946                          "column": 1
1947                        }
1948                      }
1949                    }
1950                  ],
1951                  "loc": {
1952                    "start": {
1953                      "line": 1,
1954                      "column": 1
1955                    },
1956                    "end": {
1957                      "line": 1,
1958                      "column": 1
1959                    }
1960                  }
1961                },
1962                {
1963                  "type": "ETSNewClassInstanceExpression",
1964                  "typeReference": {
1965                    "type": "ETSTypeReference",
1966                    "part": {
1967                      "type": "ETSTypeReferencePart",
1968                      "name": {
1969                        "type": "Identifier",
1970                        "name": "#A",
1971                        "decorators": [],
1972                        "loc": {
1973                          "start": {
1974                            "line": 1,
1975                            "column": 1
1976                          },
1977                          "end": {
1978                            "line": 1,
1979                            "column": 1
1980                          }
1981                        }
1982                      },
1983                      "loc": {
1984                        "start": {
1985                          "line": 1,
1986                          "column": 1
1987                        },
1988                        "end": {
1989                          "line": 1,
1990                          "column": 1
1991                        }
1992                      }
1993                    },
1994                    "loc": {
1995                      "start": {
1996                        "line": 1,
1997                        "column": 1
1998                      },
1999                      "end": {
2000                        "line": 1,
2001                        "column": 1
2002                      }
2003                    }
2004                  },
2005                  "arguments": [
2006                    {
2007                      "type": "TSAsExpression",
2008                      "expression": {
2009                        "type": "MemberExpression",
2010                        "object": {
2011                          "type": "Identifier",
2012                          "name": "A",
2013                          "decorators": [],
2014                          "loc": {
2015                            "start": {
2016                              "line": 1,
2017                              "column": 1
2018                            },
2019                            "end": {
2020                              "line": 1,
2021                              "column": 1
2022                            }
2023                          }
2024                        },
2025                        "property": {
2026                          "type": "Identifier",
2027                          "name": "C",
2028                          "decorators": [],
2029                          "loc": {
2030                            "start": {
2031                              "line": 1,
2032                              "column": 1
2033                            },
2034                            "end": {
2035                              "line": 1,
2036                              "column": 1
2037                            }
2038                          }
2039                        },
2040                        "computed": false,
2041                        "optional": false,
2042                        "loc": {
2043                          "start": {
2044                            "line": 1,
2045                            "column": 1
2046                          },
2047                          "end": {
2048                            "line": 1,
2049                            "column": 1
2050                          }
2051                        }
2052                      },
2053                      "typeAnnotation": {
2054                        "type": "ETSPrimitiveType",
2055                        "loc": {
2056                          "start": {
2057                            "line": 1,
2058                            "column": 1
2059                          },
2060                          "end": {
2061                            "line": 1,
2062                            "column": 1
2063                          }
2064                        }
2065                      },
2066                      "loc": {
2067                        "start": {
2068                          "line": 1,
2069                          "column": 1
2070                        },
2071                        "end": {
2072                          "line": 1,
2073                          "column": 1
2074                        }
2075                      }
2076                    }
2077                  ],
2078                  "loc": {
2079                    "start": {
2080                      "line": 1,
2081                      "column": 1
2082                    },
2083                    "end": {
2084                      "line": 1,
2085                      "column": 1
2086                    }
2087                  }
2088                },
2089                {
2090                  "type": "ETSNewClassInstanceExpression",
2091                  "typeReference": {
2092                    "type": "ETSTypeReference",
2093                    "part": {
2094                      "type": "ETSTypeReferencePart",
2095                      "name": {
2096                        "type": "Identifier",
2097                        "name": "#A",
2098                        "decorators": [],
2099                        "loc": {
2100                          "start": {
2101                            "line": 1,
2102                            "column": 1
2103                          },
2104                          "end": {
2105                            "line": 1,
2106                            "column": 1
2107                          }
2108                        }
2109                      },
2110                      "loc": {
2111                        "start": {
2112                          "line": 1,
2113                          "column": 1
2114                        },
2115                        "end": {
2116                          "line": 1,
2117                          "column": 1
2118                        }
2119                      }
2120                    },
2121                    "loc": {
2122                      "start": {
2123                        "line": 1,
2124                        "column": 1
2125                      },
2126                      "end": {
2127                        "line": 1,
2128                        "column": 1
2129                      }
2130                    }
2131                  },
2132                  "arguments": [
2133                    {
2134                      "type": "TSAsExpression",
2135                      "expression": {
2136                        "type": "MemberExpression",
2137                        "object": {
2138                          "type": "Identifier",
2139                          "name": "A",
2140                          "decorators": [],
2141                          "loc": {
2142                            "start": {
2143                              "line": 1,
2144                              "column": 1
2145                            },
2146                            "end": {
2147                              "line": 1,
2148                              "column": 1
2149                            }
2150                          }
2151                        },
2152                        "property": {
2153                          "type": "Identifier",
2154                          "name": "D",
2155                          "decorators": [],
2156                          "loc": {
2157                            "start": {
2158                              "line": 1,
2159                              "column": 1
2160                            },
2161                            "end": {
2162                              "line": 1,
2163                              "column": 1
2164                            }
2165                          }
2166                        },
2167                        "computed": false,
2168                        "optional": false,
2169                        "loc": {
2170                          "start": {
2171                            "line": 1,
2172                            "column": 1
2173                          },
2174                          "end": {
2175                            "line": 1,
2176                            "column": 1
2177                          }
2178                        }
2179                      },
2180                      "typeAnnotation": {
2181                        "type": "ETSPrimitiveType",
2182                        "loc": {
2183                          "start": {
2184                            "line": 1,
2185                            "column": 1
2186                          },
2187                          "end": {
2188                            "line": 1,
2189                            "column": 1
2190                          }
2191                        }
2192                      },
2193                      "loc": {
2194                        "start": {
2195                          "line": 1,
2196                          "column": 1
2197                        },
2198                        "end": {
2199                          "line": 1,
2200                          "column": 1
2201                        }
2202                      }
2203                    }
2204                  ],
2205                  "loc": {
2206                    "start": {
2207                      "line": 1,
2208                      "column": 1
2209                    },
2210                    "end": {
2211                      "line": 1,
2212                      "column": 1
2213                    }
2214                  }
2215                }
2216              ],
2217              "loc": {
2218                "start": {
2219                  "line": 1,
2220                  "column": 1
2221                },
2222                "end": {
2223                  "line": 1,
2224                  "column": 1
2225                }
2226              }
2227            },
2228            "accessibility": "protected",
2229            "static": true,
2230            "readonly": false,
2231            "declare": false,
2232            "optional": false,
2233            "computed": false,
2234            "typeAnnotation": {
2235              "type": "TSArrayType",
2236              "elementType": {
2237                "type": "ETSTypeReference",
2238                "part": {
2239                  "type": "ETSTypeReferencePart",
2240                  "name": {
2241                    "type": "Identifier",
2242                    "name": "#A",
2243                    "decorators": [],
2244                    "loc": {
2245                      "start": {
2246                        "line": 1,
2247                        "column": 1
2248                      },
2249                      "end": {
2250                        "line": 1,
2251                        "column": 1
2252                      }
2253                    }
2254                  },
2255                  "loc": {
2256                    "start": {
2257                      "line": 1,
2258                      "column": 1
2259                    },
2260                    "end": {
2261                      "line": 1,
2262                      "column": 1
2263                    }
2264                  }
2265                },
2266                "loc": {
2267                  "start": {
2268                    "line": 1,
2269                    "column": 1
2270                  },
2271                  "end": {
2272                    "line": 1,
2273                    "column": 1
2274                  }
2275                }
2276              },
2277              "loc": {
2278                "start": {
2279                  "line": 1,
2280                  "column": 1
2281                },
2282                "end": {
2283                  "line": 1,
2284                  "column": 1
2285                }
2286              }
2287            },
2288            "definite": false,
2289            "decorators": [],
2290            "loc": {
2291              "start": {
2292                "line": 1,
2293                "column": 1
2294              },
2295              "end": {
2296                "line": 1,
2297                "column": 1
2298              }
2299            }
2300          },
2301          {
2302            "type": "MethodDefinition",
2303            "key": {
2304              "type": "Identifier",
2305              "name": "getName",
2306              "decorators": [],
2307              "loc": {
2308                "start": {
2309                  "line": 1,
2310                  "column": 1
2311                },
2312                "end": {
2313                  "line": 1,
2314                  "column": 1
2315                }
2316              }
2317            },
2318            "kind": "method",
2319            "accessibility": "public",
2320            "static": true,
2321            "optional": false,
2322            "computed": false,
2323            "value": {
2324              "type": "FunctionExpression",
2325              "function": {
2326                "type": "ScriptFunction",
2327                "id": {
2328                  "type": "Identifier",
2329                  "name": "getName",
2330                  "decorators": [],
2331                  "loc": {
2332                    "start": {
2333                      "line": 1,
2334                      "column": 1
2335                    },
2336                    "end": {
2337                      "line": 1,
2338                      "column": 1
2339                    }
2340                  }
2341                },
2342                "generator": false,
2343                "async": false,
2344                "expression": false,
2345                "params": [
2346                  {
2347                    "type": "ETSParameterExpression",
2348                    "name": {
2349                      "type": "Identifier",
2350                      "name": "ordinal",
2351                      "typeAnnotation": {
2352                        "type": "ETSTypeReference",
2353                        "part": {
2354                          "type": "ETSTypeReferencePart",
2355                          "name": {
2356                            "type": "Identifier",
2357                            "name": "A",
2358                            "decorators": [],
2359                            "loc": {
2360                              "start": {
2361                                "line": 1,
2362                                "column": 1
2363                              },
2364                              "end": {
2365                                "line": 1,
2366                                "column": 1
2367                              }
2368                            }
2369                          },
2370                          "loc": {
2371                            "start": {
2372                              "line": 1,
2373                              "column": 1
2374                            },
2375                            "end": {
2376                              "line": 1,
2377                              "column": 1
2378                            }
2379                          }
2380                        },
2381                        "loc": {
2382                          "start": {
2383                            "line": 1,
2384                            "column": 1
2385                          },
2386                          "end": {
2387                            "line": 1,
2388                            "column": 1
2389                          }
2390                        }
2391                      },
2392                      "decorators": [],
2393                      "loc": {
2394                        "start": {
2395                          "line": 1,
2396                          "column": 1
2397                        },
2398                        "end": {
2399                          "line": 1,
2400                          "column": 1
2401                        }
2402                      }
2403                    },
2404                    "loc": {
2405                      "start": {
2406                        "line": 1,
2407                        "column": 1
2408                      },
2409                      "end": {
2410                        "line": 1,
2411                        "column": 1
2412                      }
2413                    }
2414                  }
2415                ],
2416                "returnType": {
2417                  "type": "ETSTypeReference",
2418                  "part": {
2419                    "type": "ETSTypeReferencePart",
2420                    "name": {
2421                      "type": "Identifier",
2422                      "name": "String",
2423                      "decorators": [],
2424                      "loc": {
2425                        "start": {
2426                          "line": 1,
2427                          "column": 1
2428                        },
2429                        "end": {
2430                          "line": 1,
2431                          "column": 1
2432                        }
2433                      }
2434                    },
2435                    "loc": {
2436                      "start": {
2437                        "line": 1,
2438                        "column": 1
2439                      },
2440                      "end": {
2441                        "line": 1,
2442                        "column": 1
2443                      }
2444                    }
2445                  },
2446                  "loc": {
2447                    "start": {
2448                      "line": 1,
2449                      "column": 1
2450                    },
2451                    "end": {
2452                      "line": 1,
2453                      "column": 1
2454                    }
2455                  }
2456                },
2457                "body": {
2458                  "type": "BlockStatement",
2459                  "statements": [
2460                    {
2461                      "type": "ReturnStatement",
2462                      "argument": {
2463                        "type": "MemberExpression",
2464                        "object": {
2465                          "type": "Identifier",
2466                          "name": "NamesArray",
2467                          "decorators": [],
2468                          "loc": {
2469                            "start": {
2470                              "line": 1,
2471                              "column": 1
2472                            },
2473                            "end": {
2474                              "line": 1,
2475                              "column": 1
2476                            }
2477                          }
2478                        },
2479                        "property": {
2480                          "type": "TSAsExpression",
2481                          "expression": {
2482                            "type": "Identifier",
2483                            "name": "ordinal",
2484                            "decorators": [],
2485                            "loc": {
2486                              "start": {
2487                                "line": 1,
2488                                "column": 1
2489                              },
2490                              "end": {
2491                                "line": 1,
2492                                "column": 1
2493                              }
2494                            }
2495                          },
2496                          "typeAnnotation": {
2497                            "type": "ETSPrimitiveType",
2498                            "loc": {
2499                              "start": {
2500                                "line": 1,
2501                                "column": 1
2502                              },
2503                              "end": {
2504                                "line": 1,
2505                                "column": 1
2506                              }
2507                            }
2508                          },
2509                          "loc": {
2510                            "start": {
2511                              "line": 1,
2512                              "column": 1
2513                            },
2514                            "end": {
2515                              "line": 1,
2516                              "column": 1
2517                            }
2518                          }
2519                        },
2520                        "computed": true,
2521                        "optional": false,
2522                        "loc": {
2523                          "start": {
2524                            "line": 1,
2525                            "column": 1
2526                          },
2527                          "end": {
2528                            "line": 1,
2529                            "column": 1
2530                          }
2531                        }
2532                      },
2533                      "loc": {
2534                        "start": {
2535                          "line": 1,
2536                          "column": 1
2537                        },
2538                        "end": {
2539                          "line": 1,
2540                          "column": 1
2541                        }
2542                      }
2543                    }
2544                  ],
2545                  "loc": {
2546                    "start": {
2547                      "line": 1,
2548                      "column": 1
2549                    },
2550                    "end": {
2551                      "line": 1,
2552                      "column": 1
2553                    }
2554                  }
2555                },
2556                "loc": {
2557                  "start": {
2558                    "line": 1,
2559                    "column": 1
2560                  },
2561                  "end": {
2562                    "line": 1,
2563                    "column": 1
2564                  }
2565                }
2566              },
2567              "loc": {
2568                "start": {
2569                  "line": 1,
2570                  "column": 1
2571                },
2572                "end": {
2573                  "line": 1,
2574                  "column": 1
2575                }
2576              }
2577            },
2578            "overloads": [],
2579            "decorators": [],
2580            "loc": {
2581              "start": {
2582                "line": 1,
2583                "column": 1
2584              },
2585              "end": {
2586                "line": 1,
2587                "column": 1
2588              }
2589            }
2590          },
2591          {
2592            "type": "MethodDefinition",
2593            "key": {
2594              "type": "Identifier",
2595              "name": "getValueOf",
2596              "decorators": [],
2597              "loc": {
2598                "start": {
2599                  "line": 1,
2600                  "column": 1
2601                },
2602                "end": {
2603                  "line": 1,
2604                  "column": 1
2605                }
2606              }
2607            },
2608            "kind": "method",
2609            "accessibility": "public",
2610            "static": true,
2611            "optional": false,
2612            "computed": false,
2613            "value": {
2614              "type": "FunctionExpression",
2615              "function": {
2616                "type": "ScriptFunction",
2617                "id": {
2618                  "type": "Identifier",
2619                  "name": "getValueOf",
2620                  "decorators": [],
2621                  "loc": {
2622                    "start": {
2623                      "line": 1,
2624                      "column": 1
2625                    },
2626                    "end": {
2627                      "line": 1,
2628                      "column": 1
2629                    }
2630                  }
2631                },
2632                "generator": false,
2633                "async": false,
2634                "expression": false,
2635                "params": [
2636                  {
2637                    "type": "ETSParameterExpression",
2638                    "name": {
2639                      "type": "Identifier",
2640                      "name": "name",
2641                      "typeAnnotation": {
2642                        "type": "ETSTypeReference",
2643                        "part": {
2644                          "type": "ETSTypeReferencePart",
2645                          "name": {
2646                            "type": "Identifier",
2647                            "name": "String",
2648                            "decorators": [],
2649                            "loc": {
2650                              "start": {
2651                                "line": 1,
2652                                "column": 1
2653                              },
2654                              "end": {
2655                                "line": 1,
2656                                "column": 1
2657                              }
2658                            }
2659                          },
2660                          "loc": {
2661                            "start": {
2662                              "line": 1,
2663                              "column": 1
2664                            },
2665                            "end": {
2666                              "line": 1,
2667                              "column": 1
2668                            }
2669                          }
2670                        },
2671                        "loc": {
2672                          "start": {
2673                            "line": 1,
2674                            "column": 1
2675                          },
2676                          "end": {
2677                            "line": 1,
2678                            "column": 1
2679                          }
2680                        }
2681                      },
2682                      "decorators": [],
2683                      "loc": {
2684                        "start": {
2685                          "line": 1,
2686                          "column": 1
2687                        },
2688                        "end": {
2689                          "line": 1,
2690                          "column": 1
2691                        }
2692                      }
2693                    },
2694                    "loc": {
2695                      "start": {
2696                        "line": 1,
2697                        "column": 1
2698                      },
2699                      "end": {
2700                        "line": 1,
2701                        "column": 1
2702                      }
2703                    }
2704                  }
2705                ],
2706                "returnType": {
2707                  "type": "ETSTypeReference",
2708                  "part": {
2709                    "type": "ETSTypeReferencePart",
2710                    "name": {
2711                      "type": "Identifier",
2712                      "name": "A",
2713                      "decorators": [],
2714                      "loc": {
2715                        "start": {
2716                          "line": 1,
2717                          "column": 1
2718                        },
2719                        "end": {
2720                          "line": 1,
2721                          "column": 1
2722                        }
2723                      }
2724                    },
2725                    "loc": {
2726                      "start": {
2727                        "line": 1,
2728                        "column": 1
2729                      },
2730                      "end": {
2731                        "line": 1,
2732                        "column": 1
2733                      }
2734                    }
2735                  },
2736                  "loc": {
2737                    "start": {
2738                      "line": 1,
2739                      "column": 1
2740                    },
2741                    "end": {
2742                      "line": 1,
2743                      "column": 1
2744                    }
2745                  }
2746                },
2747                "body": {
2748                  "type": "BlockStatement",
2749                  "statements": [
2750                    {
2751                      "type": "ForUpdateStatement",
2752                      "init": {
2753                        "type": "VariableDeclaration",
2754                        "declarations": [
2755                          {
2756                            "type": "VariableDeclarator",
2757                            "id": {
2758                              "type": "Identifier",
2759                              "name": "i",
2760                              "decorators": [],
2761                              "loc": {
2762                                "start": {
2763                                  "line": 1,
2764                                  "column": 1
2765                                },
2766                                "end": {
2767                                  "line": 1,
2768                                  "column": 1
2769                                }
2770                              }
2771                            },
2772                            "init": {
2773                              "type": "NumberLiteral",
2774                              "value": 0,
2775                              "loc": {
2776                                "start": {
2777                                  "line": 1,
2778                                  "column": 1
2779                                },
2780                                "end": {
2781                                  "line": 1,
2782                                  "column": 1
2783                                }
2784                              }
2785                            },
2786                            "loc": {
2787                              "start": {
2788                                "line": 1,
2789                                "column": 1
2790                              },
2791                              "end": {
2792                                "line": 1,
2793                                "column": 1
2794                              }
2795                            }
2796                          }
2797                        ],
2798                        "kind": "let",
2799                        "loc": {
2800                          "start": {
2801                            "line": 1,
2802                            "column": 1
2803                          },
2804                          "end": {
2805                            "line": 1,
2806                            "column": 1
2807                          }
2808                        }
2809                      },
2810                      "test": {
2811                        "type": "BinaryExpression",
2812                        "operator": "<",
2813                        "left": {
2814                          "type": "Identifier",
2815                          "name": "i",
2816                          "decorators": [],
2817                          "loc": {
2818                            "start": {
2819                              "line": 1,
2820                              "column": 1
2821                            },
2822                            "end": {
2823                              "line": 1,
2824                              "column": 1
2825                            }
2826                          }
2827                        },
2828                        "right": {
2829                          "type": "MemberExpression",
2830                          "object": {
2831                            "type": "Identifier",
2832                            "name": "NamesArray",
2833                            "decorators": [],
2834                            "loc": {
2835                              "start": {
2836                                "line": 1,
2837                                "column": 1
2838                              },
2839                              "end": {
2840                                "line": 1,
2841                                "column": 1
2842                              }
2843                            }
2844                          },
2845                          "property": {
2846                            "type": "Identifier",
2847                            "name": "length",
2848                            "decorators": [],
2849                            "loc": {
2850                              "start": {
2851                                "line": 1,
2852                                "column": 1
2853                              },
2854                              "end": {
2855                                "line": 1,
2856                                "column": 1
2857                              }
2858                            }
2859                          },
2860                          "computed": false,
2861                          "optional": false,
2862                          "loc": {
2863                            "start": {
2864                              "line": 1,
2865                              "column": 1
2866                            },
2867                            "end": {
2868                              "line": 1,
2869                              "column": 1
2870                            }
2871                          }
2872                        },
2873                        "loc": {
2874                          "start": {
2875                            "line": 1,
2876                            "column": 1
2877                          },
2878                          "end": {
2879                            "line": 1,
2880                            "column": 1
2881                          }
2882                        }
2883                      },
2884                      "update": {
2885                        "type": "UpdateExpression",
2886                        "operator": "++",
2887                        "prefix": true,
2888                        "argument": {
2889                          "type": "Identifier",
2890                          "name": "i",
2891                          "decorators": [],
2892                          "loc": {
2893                            "start": {
2894                              "line": 1,
2895                              "column": 1
2896                            },
2897                            "end": {
2898                              "line": 1,
2899                              "column": 1
2900                            }
2901                          }
2902                        },
2903                        "loc": {
2904                          "start": {
2905                            "line": 1,
2906                            "column": 1
2907                          },
2908                          "end": {
2909                            "line": 1,
2910                            "column": 1
2911                          }
2912                        }
2913                      },
2914                      "body": {
2915                        "type": "IfStatement",
2916                        "test": {
2917                          "type": "BinaryExpression",
2918                          "operator": "==",
2919                          "left": {
2920                            "type": "Identifier",
2921                            "name": "name",
2922                            "decorators": [],
2923                            "loc": {
2924                              "start": {
2925                                "line": 1,
2926                                "column": 1
2927                              },
2928                              "end": {
2929                                "line": 1,
2930                                "column": 1
2931                              }
2932                            }
2933                          },
2934                          "right": {
2935                            "type": "MemberExpression",
2936                            "object": {
2937                              "type": "Identifier",
2938                              "name": "NamesArray",
2939                              "decorators": [],
2940                              "loc": {
2941                                "start": {
2942                                  "line": 1,
2943                                  "column": 1
2944                                },
2945                                "end": {
2946                                  "line": 1,
2947                                  "column": 1
2948                                }
2949                              }
2950                            },
2951                            "property": {
2952                              "type": "Identifier",
2953                              "name": "i",
2954                              "decorators": [],
2955                              "loc": {
2956                                "start": {
2957                                  "line": 1,
2958                                  "column": 1
2959                                },
2960                                "end": {
2961                                  "line": 1,
2962                                  "column": 1
2963                                }
2964                              }
2965                            },
2966                            "computed": true,
2967                            "optional": false,
2968                            "loc": {
2969                              "start": {
2970                                "line": 1,
2971                                "column": 1
2972                              },
2973                              "end": {
2974                                "line": 1,
2975                                "column": 1
2976                              }
2977                            }
2978                          },
2979                          "loc": {
2980                            "start": {
2981                              "line": 1,
2982                              "column": 1
2983                            },
2984                            "end": {
2985                              "line": 1,
2986                              "column": 1
2987                            }
2988                          }
2989                        },
2990                        "consequent": {
2991                          "type": "ReturnStatement",
2992                          "argument": {
2993                            "type": "TSAsExpression",
2994                            "expression": {
2995                              "type": "Identifier",
2996                              "name": "i",
2997                              "decorators": [],
2998                              "loc": {
2999                                "start": {
3000                                  "line": 1,
3001                                  "column": 1
3002                                },
3003                                "end": {
3004                                  "line": 1,
3005                                  "column": 1
3006                                }
3007                              }
3008                            },
3009                            "typeAnnotation": {
3010                              "type": "ETSTypeReference",
3011                              "part": {
3012                                "type": "ETSTypeReferencePart",
3013                                "name": {
3014                                  "type": "Identifier",
3015                                  "name": "A",
3016                                  "decorators": [],
3017                                  "loc": {
3018                                    "start": {
3019                                      "line": 1,
3020                                      "column": 1
3021                                    },
3022                                    "end": {
3023                                      "line": 1,
3024                                      "column": 1
3025                                    }
3026                                  }
3027                                },
3028                                "loc": {
3029                                  "start": {
3030                                    "line": 1,
3031                                    "column": 1
3032                                  },
3033                                  "end": {
3034                                    "line": 1,
3035                                    "column": 1
3036                                  }
3037                                }
3038                              },
3039                              "loc": {
3040                                "start": {
3041                                  "line": 1,
3042                                  "column": 1
3043                                },
3044                                "end": {
3045                                  "line": 1,
3046                                  "column": 1
3047                                }
3048                              }
3049                            },
3050                            "loc": {
3051                              "start": {
3052                                "line": 1,
3053                                "column": 1
3054                              },
3055                              "end": {
3056                                "line": 1,
3057                                "column": 1
3058                              }
3059                            }
3060                          },
3061                          "loc": {
3062                            "start": {
3063                              "line": 1,
3064                              "column": 1
3065                            },
3066                            "end": {
3067                              "line": 1,
3068                              "column": 1
3069                            }
3070                          }
3071                        },
3072                        "alternate": null,
3073                        "loc": {
3074                          "start": {
3075                            "line": 1,
3076                            "column": 1
3077                          },
3078                          "end": {
3079                            "line": 1,
3080                            "column": 1
3081                          }
3082                        }
3083                      },
3084                      "loc": {
3085                        "start": {
3086                          "line": 1,
3087                          "column": 1
3088                        },
3089                        "end": {
3090                          "line": 1,
3091                          "column": 1
3092                        }
3093                      }
3094                    },
3095                    {
3096                      "type": "ThrowStatement",
3097                      "argument": {
3098                        "type": "ETSNewClassInstanceExpression",
3099                        "typeReference": {
3100                          "type": "ETSTypeReference",
3101                          "part": {
3102                            "type": "ETSTypeReferencePart",
3103                            "name": {
3104                              "type": "Identifier",
3105                              "name": "Exception",
3106                              "decorators": [],
3107                              "loc": {
3108                                "start": {
3109                                  "line": 1,
3110                                  "column": 1
3111                                },
3112                                "end": {
3113                                  "line": 1,
3114                                  "column": 1
3115                                }
3116                              }
3117                            },
3118                            "loc": {
3119                              "start": {
3120                                "line": 1,
3121                                "column": 1
3122                              },
3123                              "end": {
3124                                "line": 1,
3125                                "column": 1
3126                              }
3127                            }
3128                          },
3129                          "loc": {
3130                            "start": {
3131                              "line": 1,
3132                              "column": 1
3133                            },
3134                            "end": {
3135                              "line": 1,
3136                              "column": 1
3137                            }
3138                          }
3139                        },
3140                        "arguments": [
3141                          {
3142                            "type": "BinaryExpression",
3143                            "operator": "+",
3144                            "left": {
3145                              "type": "StringLiteral",
3146                              "value": "No enum constant A.",
3147                              "loc": {
3148                                "start": {
3149                                  "line": 1,
3150                                  "column": 1
3151                                },
3152                                "end": {
3153                                  "line": 1,
3154                                  "column": 1
3155                                }
3156                              }
3157                            },
3158                            "right": {
3159                              "type": "Identifier",
3160                              "name": "name",
3161                              "decorators": [],
3162                              "loc": {
3163                                "start": {
3164                                  "line": 1,
3165                                  "column": 1
3166                                },
3167                                "end": {
3168                                  "line": 1,
3169                                  "column": 1
3170                                }
3171                              }
3172                            },
3173                            "loc": {
3174                              "start": {
3175                                "line": 1,
3176                                "column": 1
3177                              },
3178                              "end": {
3179                                "line": 1,
3180                                "column": 1
3181                              }
3182                            }
3183                          }
3184                        ],
3185                        "loc": {
3186                          "start": {
3187                            "line": 1,
3188                            "column": 1
3189                          },
3190                          "end": {
3191                            "line": 1,
3192                            "column": 1
3193                          }
3194                        }
3195                      },
3196                      "loc": {
3197                        "start": {
3198                          "line": 1,
3199                          "column": 1
3200                        },
3201                        "end": {
3202                          "line": 1,
3203                          "column": 1
3204                        }
3205                      }
3206                    }
3207                  ],
3208                  "loc": {
3209                    "start": {
3210                      "line": 1,
3211                      "column": 1
3212                    },
3213                    "end": {
3214                      "line": 1,
3215                      "column": 1
3216                    }
3217                  }
3218                }
3219                "throwMarker": "throws",
3220                "loc": {
3221                  "start": {
3222                    "line": 1,
3223                    "column": 1
3224                  },
3225                  "end": {
3226                    "line": 1,
3227                    "column": 1
3228                  }
3229                }
3230              },
3231              "loc": {
3232                "start": {
3233                  "line": 1,
3234                  "column": 1
3235                },
3236                "end": {
3237                  "line": 1,
3238                  "column": 1
3239                }
3240              }
3241            },
3242            "overloads": [],
3243            "decorators": [],
3244            "loc": {
3245              "start": {
3246                "line": 1,
3247                "column": 1
3248              },
3249              "end": {
3250                "line": 1,
3251                "column": 1
3252              }
3253            }
3254          },
3255          {
3256            "type": "MethodDefinition",
3257            "key": {
3258              "type": "Identifier",
3259              "name": "valueOf",
3260              "decorators": [],
3261              "loc": {
3262                "start": {
3263                  "line": 1,
3264                  "column": 1
3265                },
3266                "end": {
3267                  "line": 1,
3268                  "column": 1
3269                }
3270              }
3271            },
3272            "kind": "method",
3273            "accessibility": "public",
3274            "static": true,
3275            "optional": false,
3276            "computed": false,
3277            "value": {
3278              "type": "FunctionExpression",
3279              "function": {
3280                "type": "ScriptFunction",
3281                "id": {
3282                  "type": "Identifier",
3283                  "name": "valueOf",
3284                  "decorators": [],
3285                  "loc": {
3286                    "start": {
3287                      "line": 1,
3288                      "column": 1
3289                    },
3290                    "end": {
3291                      "line": 1,
3292                      "column": 1
3293                    }
3294                  }
3295                },
3296                "generator": false,
3297                "async": false,
3298                "expression": false,
3299                "params": [
3300                  {
3301                    "type": "ETSParameterExpression",
3302                    "name": {
3303                      "type": "Identifier",
3304                      "name": "e",
3305                      "typeAnnotation": {
3306                        "type": "ETSTypeReference",
3307                        "part": {
3308                          "type": "ETSTypeReferencePart",
3309                          "name": {
3310                            "type": "Identifier",
3311                            "name": "A",
3312                            "decorators": [],
3313                            "loc": {
3314                              "start": {
3315                                "line": 1,
3316                                "column": 1
3317                              },
3318                              "end": {
3319                                "line": 1,
3320                                "column": 1
3321                              }
3322                            }
3323                          },
3324                          "loc": {
3325                            "start": {
3326                              "line": 1,
3327                              "column": 1
3328                            },
3329                            "end": {
3330                              "line": 1,
3331                              "column": 1
3332                            }
3333                          }
3334                        },
3335                        "loc": {
3336                          "start": {
3337                            "line": 1,
3338                            "column": 1
3339                          },
3340                          "end": {
3341                            "line": 1,
3342                            "column": 1
3343                          }
3344                        }
3345                      },
3346                      "decorators": [],
3347                      "loc": {
3348                        "start": {
3349                          "line": 1,
3350                          "column": 1
3351                        },
3352                        "end": {
3353                          "line": 1,
3354                          "column": 1
3355                        }
3356                      }
3357                    },
3358                    "loc": {
3359                      "start": {
3360                        "line": 1,
3361                        "column": 1
3362                      },
3363                      "end": {
3364                        "line": 1,
3365                        "column": 1
3366                      }
3367                    }
3368                  }
3369                ],
3370                "returnType": {
3371                  "type": "ETSPrimitiveType",
3372                  "loc": {
3373                    "start": {
3374                      "line": 1,
3375                      "column": 1
3376                    },
3377                    "end": {
3378                      "line": 1,
3379                      "column": 1
3380                    }
3381                  }
3382                },
3383                "body": {
3384                  "type": "BlockStatement",
3385                  "statements": [
3386                    {
3387                      "type": "ReturnStatement",
3388                      "argument": {
3389                        "type": "MemberExpression",
3390                        "object": {
3391                          "type": "Identifier",
3392                          "name": "ValuesArray",
3393                          "decorators": [],
3394                          "loc": {
3395                            "start": {
3396                              "line": 1,
3397                              "column": 1
3398                            },
3399                            "end": {
3400                              "line": 1,
3401                              "column": 1
3402                            }
3403                          }
3404                        },
3405                        "property": {
3406                          "type": "TSAsExpression",
3407                          "expression": {
3408                            "type": "Identifier",
3409                            "name": "e",
3410                            "decorators": [],
3411                            "loc": {
3412                              "start": {
3413                                "line": 1,
3414                                "column": 1
3415                              },
3416                              "end": {
3417                                "line": 1,
3418                                "column": 1
3419                              }
3420                            }
3421                          },
3422                          "typeAnnotation": {
3423                            "type": "ETSPrimitiveType",
3424                            "loc": {
3425                              "start": {
3426                                "line": 1,
3427                                "column": 1
3428                              },
3429                              "end": {
3430                                "line": 1,
3431                                "column": 1
3432                              }
3433                            }
3434                          },
3435                          "loc": {
3436                            "start": {
3437                              "line": 1,
3438                              "column": 1
3439                            },
3440                            "end": {
3441                              "line": 1,
3442                              "column": 1
3443                            }
3444                          }
3445                        },
3446                        "computed": true,
3447                        "optional": false,
3448                        "loc": {
3449                          "start": {
3450                            "line": 1,
3451                            "column": 1
3452                          },
3453                          "end": {
3454                            "line": 1,
3455                            "column": 1
3456                          }
3457                        }
3458                      },
3459                      "loc": {
3460                        "start": {
3461                          "line": 1,
3462                          "column": 1
3463                        },
3464                        "end": {
3465                          "line": 1,
3466                          "column": 1
3467                        }
3468                      }
3469                    }
3470                  ],
3471                  "loc": {
3472                    "start": {
3473                      "line": 1,
3474                      "column": 1
3475                    },
3476                    "end": {
3477                      "line": 1,
3478                      "column": 1
3479                    }
3480                  }
3481                },
3482                "loc": {
3483                  "start": {
3484                    "line": 1,
3485                    "column": 1
3486                  },
3487                  "end": {
3488                    "line": 1,
3489                    "column": 1
3490                  }
3491                }
3492              },
3493              "loc": {
3494                "start": {
3495                  "line": 1,
3496                  "column": 1
3497                },
3498                "end": {
3499                  "line": 1,
3500                  "column": 1
3501                }
3502              }
3503            },
3504            "overloads": [],
3505            "decorators": [],
3506            "loc": {
3507              "start": {
3508                "line": 1,
3509                "column": 1
3510              },
3511              "end": {
3512                "line": 1,
3513                "column": 1
3514              }
3515            }
3516          },
3517          {
3518            "type": "MethodDefinition",
3519            "key": {
3520              "type": "Identifier",
3521              "name": "toString",
3522              "decorators": [],
3523              "loc": {
3524                "start": {
3525                  "line": 1,
3526                  "column": 1
3527                },
3528                "end": {
3529                  "line": 1,
3530                  "column": 1
3531                }
3532              }
3533            },
3534            "kind": "method",
3535            "accessibility": "public",
3536            "static": true,
3537            "optional": false,
3538            "computed": false,
3539            "value": {
3540              "type": "FunctionExpression",
3541              "function": {
3542                "type": "ScriptFunction",
3543                "id": {
3544                  "type": "Identifier",
3545                  "name": "toString",
3546                  "decorators": [],
3547                  "loc": {
3548                    "start": {
3549                      "line": 1,
3550                      "column": 1
3551                    },
3552                    "end": {
3553                      "line": 1,
3554                      "column": 1
3555                    }
3556                  }
3557                },
3558                "generator": false,
3559                "async": false,
3560                "expression": false,
3561                "params": [
3562                  {
3563                    "type": "ETSParameterExpression",
3564                    "name": {
3565                      "type": "Identifier",
3566                      "name": "ordinal",
3567                      "typeAnnotation": {
3568                        "type": "ETSTypeReference",
3569                        "part": {
3570                          "type": "ETSTypeReferencePart",
3571                          "name": {
3572                            "type": "Identifier",
3573                            "name": "A",
3574                            "decorators": [],
3575                            "loc": {
3576                              "start": {
3577                                "line": 1,
3578                                "column": 1
3579                              },
3580                              "end": {
3581                                "line": 1,
3582                                "column": 1
3583                              }
3584                            }
3585                          },
3586                          "loc": {
3587                            "start": {
3588                              "line": 1,
3589                              "column": 1
3590                            },
3591                            "end": {
3592                              "line": 1,
3593                              "column": 1
3594                            }
3595                          }
3596                        },
3597                        "loc": {
3598                          "start": {
3599                            "line": 1,
3600                            "column": 1
3601                          },
3602                          "end": {
3603                            "line": 1,
3604                            "column": 1
3605                          }
3606                        }
3607                      },
3608                      "decorators": [],
3609                      "loc": {
3610                        "start": {
3611                          "line": 1,
3612                          "column": 1
3613                        },
3614                        "end": {
3615                          "line": 1,
3616                          "column": 1
3617                        }
3618                      }
3619                    },
3620                    "loc": {
3621                      "start": {
3622                        "line": 1,
3623                        "column": 1
3624                      },
3625                      "end": {
3626                        "line": 1,
3627                        "column": 1
3628                      }
3629                    }
3630                  }
3631                ],
3632                "returnType": {
3633                  "type": "ETSTypeReference",
3634                  "part": {
3635                    "type": "ETSTypeReferencePart",
3636                    "name": {
3637                      "type": "Identifier",
3638                      "name": "String",
3639                      "decorators": [],
3640                      "loc": {
3641                        "start": {
3642                          "line": 1,
3643                          "column": 1
3644                        },
3645                        "end": {
3646                          "line": 1,
3647                          "column": 1
3648                        }
3649                      }
3650                    },
3651                    "loc": {
3652                      "start": {
3653                        "line": 1,
3654                        "column": 1
3655                      },
3656                      "end": {
3657                        "line": 1,
3658                        "column": 1
3659                      }
3660                    }
3661                  },
3662                  "loc": {
3663                    "start": {
3664                      "line": 1,
3665                      "column": 1
3666                    },
3667                    "end": {
3668                      "line": 1,
3669                      "column": 1
3670                    }
3671                  }
3672                },
3673                "body": {
3674                  "type": "BlockStatement",
3675                  "statements": [
3676                    {
3677                      "type": "ReturnStatement",
3678                      "argument": {
3679                        "type": "MemberExpression",
3680                        "object": {
3681                          "type": "Identifier",
3682                          "name": "StringValuesArray",
3683                          "decorators": [],
3684                          "loc": {
3685                            "start": {
3686                              "line": 1,
3687                              "column": 1
3688                            },
3689                            "end": {
3690                              "line": 1,
3691                              "column": 1
3692                            }
3693                          }
3694                        },
3695                        "property": {
3696                          "type": "TSAsExpression",
3697                          "expression": {
3698                            "type": "Identifier",
3699                            "name": "ordinal",
3700                            "decorators": [],
3701                            "loc": {
3702                              "start": {
3703                                "line": 1,
3704                                "column": 1
3705                              },
3706                              "end": {
3707                                "line": 1,
3708                                "column": 1
3709                              }
3710                            }
3711                          },
3712                          "typeAnnotation": {
3713                            "type": "ETSPrimitiveType",
3714                            "loc": {
3715                              "start": {
3716                                "line": 1,
3717                                "column": 1
3718                              },
3719                              "end": {
3720                                "line": 1,
3721                                "column": 1
3722                              }
3723                            }
3724                          },
3725                          "loc": {
3726                            "start": {
3727                              "line": 1,
3728                              "column": 1
3729                            },
3730                            "end": {
3731                              "line": 1,
3732                              "column": 1
3733                            }
3734                          }
3735                        },
3736                        "computed": true,
3737                        "optional": false,
3738                        "loc": {
3739                          "start": {
3740                            "line": 1,
3741                            "column": 1
3742                          },
3743                          "end": {
3744                            "line": 1,
3745                            "column": 1
3746                          }
3747                        }
3748                      },
3749                      "loc": {
3750                        "start": {
3751                          "line": 1,
3752                          "column": 1
3753                        },
3754                        "end": {
3755                          "line": 1,
3756                          "column": 1
3757                        }
3758                      }
3759                    }
3760                  ],
3761                  "loc": {
3762                    "start": {
3763                      "line": 1,
3764                      "column": 1
3765                    },
3766                    "end": {
3767                      "line": 1,
3768                      "column": 1
3769                    }
3770                  }
3771                },
3772                "loc": {
3773                  "start": {
3774                    "line": 1,
3775                    "column": 1
3776                  },
3777                  "end": {
3778                    "line": 1,
3779                    "column": 1
3780                  }
3781                }
3782              },
3783              "loc": {
3784                "start": {
3785                  "line": 1,
3786                  "column": 1
3787                },
3788                "end": {
3789                  "line": 1,
3790                  "column": 1
3791                }
3792              }
3793            },
3794            "overloads": [],
3795            "decorators": [],
3796            "loc": {
3797              "start": {
3798                "line": 1,
3799                "column": 1
3800              },
3801              "end": {
3802                "line": 1,
3803                "column": 1
3804              }
3805            }
3806          },
3807          {
3808            "type": "MethodDefinition",
3809            "key": {
3810              "type": "Identifier",
3811              "name": "values",
3812              "decorators": [],
3813              "loc": {
3814                "start": {
3815                  "line": 1,
3816                  "column": 1
3817                },
3818                "end": {
3819                  "line": 1,
3820                  "column": 1
3821                }
3822              }
3823            },
3824            "kind": "method",
3825            "accessibility": "public",
3826            "static": true,
3827            "optional": false,
3828            "computed": false,
3829            "value": {
3830              "type": "FunctionExpression",
3831              "function": {
3832                "type": "ScriptFunction",
3833                "id": {
3834                  "type": "Identifier",
3835                  "name": "values",
3836                  "decorators": [],
3837                  "loc": {
3838                    "start": {
3839                      "line": 1,
3840                      "column": 1
3841                    },
3842                    "end": {
3843                      "line": 1,
3844                      "column": 1
3845                    }
3846                  }
3847                },
3848                "generator": false,
3849                "async": false,
3850                "expression": false,
3851                "params": [],
3852                "returnType": {
3853                  "type": "TSArrayType",
3854                  "elementType": {
3855                    "type": "ETSTypeReference",
3856                    "part": {
3857                      "type": "ETSTypeReferencePart",
3858                      "name": {
3859                        "type": "Identifier",
3860                        "name": "A",
3861                        "decorators": [],
3862                        "loc": {
3863                          "start": {
3864                            "line": 1,
3865                            "column": 1
3866                          },
3867                          "end": {
3868                            "line": 1,
3869                            "column": 1
3870                          }
3871                        }
3872                      },
3873                      "loc": {
3874                        "start": {
3875                          "line": 1,
3876                          "column": 1
3877                        },
3878                        "end": {
3879                          "line": 1,
3880                          "column": 1
3881                        }
3882                      }
3883                    },
3884                    "loc": {
3885                      "start": {
3886                        "line": 1,
3887                        "column": 1
3888                      },
3889                      "end": {
3890                        "line": 1,
3891                        "column": 1
3892                      }
3893                    }
3894                  },
3895                  "loc": {
3896                    "start": {
3897                      "line": 1,
3898                      "column": 1
3899                    },
3900                    "end": {
3901                      "line": 1,
3902                      "column": 1
3903                    }
3904                  }
3905                },
3906                "body": {
3907                  "type": "BlockStatement",
3908                  "statements": [
3909                    {
3910                      "type": "ReturnStatement",
3911                      "argument": {
3912                        "type": "Identifier",
3913                        "name": "ItemsArray",
3914                        "decorators": [],
3915                        "loc": {
3916                          "start": {
3917                            "line": 1,
3918                            "column": 1
3919                          },
3920                          "end": {
3921                            "line": 1,
3922                            "column": 1
3923                          }
3924                        }
3925                      },
3926                      "loc": {
3927                        "start": {
3928                          "line": 1,
3929                          "column": 1
3930                        },
3931                        "end": {
3932                          "line": 1,
3933                          "column": 1
3934                        }
3935                      }
3936                    }
3937                  ],
3938                  "loc": {
3939                    "start": {
3940                      "line": 1,
3941                      "column": 1
3942                    },
3943                    "end": {
3944                      "line": 1,
3945                      "column": 1
3946                    }
3947                  }
3948                },
3949                "loc": {
3950                  "start": {
3951                    "line": 1,
3952                    "column": 1
3953                  },
3954                  "end": {
3955                    "line": 1,
3956                    "column": 1
3957                  }
3958                }
3959              },
3960              "loc": {
3961                "start": {
3962                  "line": 1,
3963                  "column": 1
3964                },
3965                "end": {
3966                  "line": 1,
3967                  "column": 1
3968                }
3969              }
3970            },
3971            "overloads": [],
3972            "decorators": [],
3973            "loc": {
3974              "start": {
3975                "line": 1,
3976                "column": 1
3977              },
3978              "end": {
3979                "line": 1,
3980                "column": 1
3981              }
3982            }
3983          },
3984          {
3985            "type": "MethodDefinition",
3986            "key": {
3987              "type": "Identifier",
3988              "name": "fromInt",
3989              "decorators": [],
3990              "loc": {
3991                "start": {
3992                  "line": 1,
3993                  "column": 1
3994                },
3995                "end": {
3996                  "line": 1,
3997                  "column": 1
3998                }
3999              }
4000            },
4001            "kind": "method",
4002            "accessibility": "public",
4003            "static": true,
4004            "optional": false,
4005            "computed": false,
4006            "value": {
4007              "type": "FunctionExpression",
4008              "function": {
4009                "type": "ScriptFunction",
4010                "id": {
4011                  "type": "Identifier",
4012                  "name": "fromInt",
4013                  "decorators": [],
4014                  "loc": {
4015                    "start": {
4016                      "line": 1,
4017                      "column": 1
4018                    },
4019                    "end": {
4020                      "line": 1,
4021                      "column": 1
4022                    }
4023                  }
4024                },
4025                "generator": false,
4026                "async": false,
4027                "expression": false,
4028                "params": [
4029                  {
4030                    "type": "ETSParameterExpression",
4031                    "name": {
4032                      "type": "Identifier",
4033                      "name": "ordinal",
4034                      "typeAnnotation": {
4035                        "type": "ETSPrimitiveType",
4036                        "loc": {
4037                          "start": {
4038                            "line": 1,
4039                            "column": 1
4040                          },
4041                          "end": {
4042                            "line": 1,
4043                            "column": 1
4044                          }
4045                        }
4046                      },
4047                      "decorators": [],
4048                      "loc": {
4049                        "start": {
4050                          "line": 1,
4051                          "column": 1
4052                        },
4053                        "end": {
4054                          "line": 1,
4055                          "column": 1
4056                        }
4057                      }
4058                    },
4059                    "loc": {
4060                      "start": {
4061                        "line": 1,
4062                        "column": 1
4063                      },
4064                      "end": {
4065                        "line": 1,
4066                        "column": 1
4067                      }
4068                    }
4069                  }
4070                ],
4071                "returnType": {
4072                  "type": "ETSTypeReference",
4073                  "part": {
4074                    "type": "ETSTypeReferencePart",
4075                    "name": {
4076                      "type": "Identifier",
4077                      "name": "A",
4078                      "decorators": [],
4079                      "loc": {
4080                        "start": {
4081                          "line": 1,
4082                          "column": 1
4083                        },
4084                        "end": {
4085                          "line": 1,
4086                          "column": 1
4087                        }
4088                      }
4089                    },
4090                    "loc": {
4091                      "start": {
4092                        "line": 1,
4093                        "column": 1
4094                      },
4095                      "end": {
4096                        "line": 1,
4097                        "column": 1
4098                      }
4099                    }
4100                  },
4101                  "loc": {
4102                    "start": {
4103                      "line": 1,
4104                      "column": 1
4105                    },
4106                    "end": {
4107                      "line": 1,
4108                      "column": 1
4109                    }
4110                  }
4111                },
4112                "body": {
4113                  "type": "BlockStatement",
4114                  "statements": [
4115                    {
4116                      "type": "IfStatement",
4117                      "test": {
4118                        "type": "BinaryExpression",
4119                        "operator": "<",
4120                        "left": {
4121                          "type": "Identifier",
4122                          "name": "ordinal",
4123                          "decorators": [],
4124                          "loc": {
4125                            "start": {
4126                              "line": 1,
4127                              "column": 1
4128                            },
4129                            "end": {
4130                              "line": 1,
4131                              "column": 1
4132                            }
4133                          }
4134                        },
4135                        "right": {
4136                          "type": "MemberExpression",
4137                          "object": {
4138                            "type": "Identifier",
4139                            "name": "ItemsArray",
4140                            "decorators": [],
4141                            "loc": {
4142                              "start": {
4143                                "line": 1,
4144                                "column": 1
4145                              },
4146                              "end": {
4147                                "line": 1,
4148                                "column": 1
4149                              }
4150                            }
4151                          },
4152                          "property": {
4153                            "type": "Identifier",
4154                            "name": "length",
4155                            "decorators": [],
4156                            "loc": {
4157                              "start": {
4158                                "line": 1,
4159                                "column": 1
4160                              },
4161                              "end": {
4162                                "line": 1,
4163                                "column": 1
4164                              }
4165                            }
4166                          },
4167                          "computed": false,
4168                          "optional": false,
4169                          "loc": {
4170                            "start": {
4171                              "line": 1,
4172                              "column": 1
4173                            },
4174                            "end": {
4175                              "line": 1,
4176                              "column": 1
4177                            }
4178                          }
4179                        },
4180                        "loc": {
4181                          "start": {
4182                            "line": 1,
4183                            "column": 1
4184                          },
4185                          "end": {
4186                            "line": 1,
4187                            "column": 1
4188                          }
4189                        }
4190                      },
4191                      "consequent": {
4192                        "type": "ReturnStatement",
4193                        "argument": {
4194                          "type": "MemberExpression",
4195                          "object": {
4196                            "type": "Identifier",
4197                            "name": "ItemsArray",
4198                            "decorators": [],
4199                            "loc": {
4200                              "start": {
4201                                "line": 1,
4202                                "column": 1
4203                              },
4204                              "end": {
4205                                "line": 1,
4206                                "column": 1
4207                              }
4208                            }
4209                          },
4210                          "property": {
4211                            "type": "Identifier",
4212                            "name": "ordinal",
4213                            "decorators": [],
4214                            "loc": {
4215                              "start": {
4216                                "line": 1,
4217                                "column": 1
4218                              },
4219                              "end": {
4220                                "line": 1,
4221                                "column": 1
4222                              }
4223                            }
4224                          },
4225                          "computed": true,
4226                          "optional": false,
4227                          "loc": {
4228                            "start": {
4229                              "line": 1,
4230                              "column": 1
4231                            },
4232                            "end": {
4233                              "line": 1,
4234                              "column": 1
4235                            }
4236                          }
4237                        },
4238                        "loc": {
4239                          "start": {
4240                            "line": 1,
4241                            "column": 1
4242                          },
4243                          "end": {
4244                            "line": 1,
4245                            "column": 1
4246                          }
4247                        }
4248                      },
4249                      "alternate": null,
4250                      "loc": {
4251                        "start": {
4252                          "line": 1,
4253                          "column": 1
4254                        },
4255                        "end": {
4256                          "line": 1,
4257                          "column": 1
4258                        }
4259                      }
4260                    },
4261                    {
4262                      "type": "ThrowStatement",
4263                      "argument": {
4264                        "type": "ETSNewClassInstanceExpression",
4265                        "typeReference": {
4266                          "type": "ETSTypeReference",
4267                          "part": {
4268                            "type": "ETSTypeReferencePart",
4269                            "name": {
4270                              "type": "Identifier",
4271                              "name": "Exception",
4272                              "decorators": [],
4273                              "loc": {
4274                                "start": {
4275                                  "line": 1,
4276                                  "column": 1
4277                                },
4278                                "end": {
4279                                  "line": 1,
4280                                  "column": 1
4281                                }
4282                              }
4283                            },
4284                            "loc": {
4285                              "start": {
4286                                "line": 1,
4287                                "column": 1
4288                              },
4289                              "end": {
4290                                "line": 1,
4291                                "column": 1
4292                              }
4293                            }
4294                          },
4295                          "loc": {
4296                            "start": {
4297                              "line": 1,
4298                              "column": 1
4299                            },
4300                            "end": {
4301                              "line": 1,
4302                              "column": 1
4303                            }
4304                          }
4305                        },
4306                        "arguments": [
4307                          {
4308                            "type": "BinaryExpression",
4309                            "operator": "+",
4310                            "left": {
4311                              "type": "StringLiteral",
4312                              "value": "No enum constant in A with ordinal value ",
4313                              "loc": {
4314                                "start": {
4315                                  "line": 1,
4316                                  "column": 1
4317                                },
4318                                "end": {
4319                                  "line": 1,
4320                                  "column": 1
4321                                }
4322                              }
4323                            },
4324                            "right": {
4325                              "type": "Identifier",
4326                              "name": "ordinal",
4327                              "decorators": [],
4328                              "loc": {
4329                                "start": {
4330                                  "line": 1,
4331                                  "column": 1
4332                                },
4333                                "end": {
4334                                  "line": 1,
4335                                  "column": 1
4336                                }
4337                              }
4338                            },
4339                            "loc": {
4340                              "start": {
4341                                "line": 1,
4342                                "column": 1
4343                              },
4344                              "end": {
4345                                "line": 1,
4346                                "column": 1
4347                              }
4348                            }
4349                          }
4350                        ],
4351                        "loc": {
4352                          "start": {
4353                            "line": 1,
4354                            "column": 1
4355                          },
4356                          "end": {
4357                            "line": 1,
4358                            "column": 1
4359                          }
4360                        }
4361                      },
4362                      "loc": {
4363                        "start": {
4364                          "line": 1,
4365                          "column": 1
4366                        },
4367                        "end": {
4368                          "line": 1,
4369                          "column": 1
4370                        }
4371                      }
4372                    }
4373                  ],
4374                  "loc": {
4375                    "start": {
4376                      "line": 1,
4377                      "column": 1
4378                    },
4379                    "end": {
4380                      "line": 1,
4381                      "column": 1
4382                    }
4383                  }
4384                }
4385                "throwMarker": "throws",
4386                "loc": {
4387                  "start": {
4388                    "line": 1,
4389                    "column": 1
4390                  },
4391                  "end": {
4392                    "line": 1,
4393                    "column": 1
4394                  }
4395                }
4396              },
4397              "loc": {
4398                "start": {
4399                  "line": 1,
4400                  "column": 1
4401                },
4402                "end": {
4403                  "line": 1,
4404                  "column": 1
4405                }
4406              }
4407            },
4408            "overloads": [],
4409            "decorators": [],
4410            "loc": {
4411              "start": {
4412                "line": 1,
4413                "column": 1
4414              },
4415              "end": {
4416                "line": 1,
4417                "column": 1
4418              }
4419            }
4420          },
4421          {
4422            "type": "MethodDefinition",
4423            "key": {
4424              "type": "Identifier",
4425              "name": "unbox",
4426              "decorators": [],
4427              "loc": {
4428                "start": {
4429                  "line": 1,
4430                  "column": 1
4431                },
4432                "end": {
4433                  "line": 1,
4434                  "column": 1
4435                }
4436              }
4437            },
4438            "kind": "method",
4439            "accessibility": "public",
4440            "static": false,
4441            "optional": false,
4442            "computed": false,
4443            "value": {
4444              "type": "FunctionExpression",
4445              "function": {
4446                "type": "ScriptFunction",
4447                "id": {
4448                  "type": "Identifier",
4449                  "name": "unbox",
4450                  "decorators": [],
4451                  "loc": {
4452                    "start": {
4453                      "line": 1,
4454                      "column": 1
4455                    },
4456                    "end": {
4457                      "line": 1,
4458                      "column": 1
4459                    }
4460                  }
4461                },
4462                "generator": false,
4463                "async": false,
4464                "expression": false,
4465                "params": [],
4466                "returnType": {
4467                  "type": "ETSTypeReference",
4468                  "part": {
4469                    "type": "ETSTypeReferencePart",
4470                    "name": {
4471                      "type": "Identifier",
4472                      "name": "A",
4473                      "decorators": [],
4474                      "loc": {
4475                        "start": {
4476                          "line": 1,
4477                          "column": 1
4478                        },
4479                        "end": {
4480                          "line": 1,
4481                          "column": 1
4482                        }
4483                      }
4484                    },
4485                    "loc": {
4486                      "start": {
4487                        "line": 1,
4488                        "column": 1
4489                      },
4490                      "end": {
4491                        "line": 1,
4492                        "column": 1
4493                      }
4494                    }
4495                  },
4496                  "loc": {
4497                    "start": {
4498                      "line": 1,
4499                      "column": 1
4500                    },
4501                    "end": {
4502                      "line": 1,
4503                      "column": 1
4504                    }
4505                  }
4506                },
4507                "body": {
4508                  "type": "BlockStatement",
4509                  "statements": [
4510                    {
4511                      "type": "ReturnStatement",
4512                      "argument": {
4513                        "type": "MemberExpression",
4514                        "object": {
4515                          "type": "Identifier",
4516                          "name": "ItemsArray",
4517                          "decorators": [],
4518                          "loc": {
4519                            "start": {
4520                              "line": 1,
4521                              "column": 1
4522                            },
4523                            "end": {
4524                              "line": 1,
4525                              "column": 1
4526                            }
4527                          }
4528                        },
4529                        "property": {
4530                          "type": "MemberExpression",
4531                          "object": {
4532                            "type": "ThisExpression",
4533                            "loc": {
4534                              "start": {
4535                                "line": 1,
4536                                "column": 1
4537                              },
4538                              "end": {
4539                                "line": 1,
4540                                "column": 1
4541                              }
4542                            }
4543                          },
4544                          "property": {
4545                            "type": "Identifier",
4546                            "name": "ordinal",
4547                            "decorators": [],
4548                            "loc": {
4549                              "start": {
4550                                "line": 1,
4551                                "column": 1
4552                              },
4553                              "end": {
4554                                "line": 1,
4555                                "column": 1
4556                              }
4557                            }
4558                          },
4559                          "computed": false,
4560                          "optional": false,
4561                          "loc": {
4562                            "start": {
4563                              "line": 1,
4564                              "column": 1
4565                            },
4566                            "end": {
4567                              "line": 1,
4568                              "column": 1
4569                            }
4570                          }
4571                        },
4572                        "computed": true,
4573                        "optional": false,
4574                        "loc": {
4575                          "start": {
4576                            "line": 1,
4577                            "column": 1
4578                          },
4579                          "end": {
4580                            "line": 1,
4581                            "column": 1
4582                          }
4583                        }
4584                      },
4585                      "loc": {
4586                        "start": {
4587                          "line": 1,
4588                          "column": 1
4589                        },
4590                        "end": {
4591                          "line": 1,
4592                          "column": 1
4593                        }
4594                      }
4595                    }
4596                  ],
4597                  "loc": {
4598                    "start": {
4599                      "line": 1,
4600                      "column": 1
4601                    },
4602                    "end": {
4603                      "line": 1,
4604                      "column": 1
4605                    }
4606                  }
4607                },
4608                "loc": {
4609                  "start": {
4610                    "line": 1,
4611                    "column": 1
4612                  },
4613                  "end": {
4614                    "line": 1,
4615                    "column": 1
4616                  }
4617                }
4618              },
4619              "loc": {
4620                "start": {
4621                  "line": 1,
4622                  "column": 1
4623                },
4624                "end": {
4625                  "line": 1,
4626                  "column": 1
4627                }
4628              }
4629            },
4630            "overloads": [],
4631            "decorators": [],
4632            "loc": {
4633              "start": {
4634                "line": 1,
4635                "column": 1
4636              },
4637              "end": {
4638                "line": 1,
4639                "column": 1
4640              }
4641            }
4642          },
4643          {
4644            "type": "MethodDefinition",
4645            "key": {
4646              "type": "Identifier",
4647              "name": "boxedfromInt",
4648              "decorators": [],
4649              "loc": {
4650                "start": {
4651                  "line": 1,
4652                  "column": 1
4653                },
4654                "end": {
4655                  "line": 1,
4656                  "column": 1
4657                }
4658              }
4659            },
4660            "kind": "method",
4661            "accessibility": "public",
4662            "static": true,
4663            "optional": false,
4664            "computed": false,
4665            "value": {
4666              "type": "FunctionExpression",
4667              "function": {
4668                "type": "ScriptFunction",
4669                "id": {
4670                  "type": "Identifier",
4671                  "name": "boxedfromInt",
4672                  "decorators": [],
4673                  "loc": {
4674                    "start": {
4675                      "line": 1,
4676                      "column": 1
4677                    },
4678                    "end": {
4679                      "line": 1,
4680                      "column": 1
4681                    }
4682                  }
4683                },
4684                "generator": false,
4685                "async": false,
4686                "expression": false,
4687                "params": [
4688                  {
4689                    "type": "ETSParameterExpression",
4690                    "name": {
4691                      "type": "Identifier",
4692                      "name": "ordinal",
4693                      "typeAnnotation": {
4694                        "type": "ETSPrimitiveType",
4695                        "loc": {
4696                          "start": {
4697                            "line": 1,
4698                            "column": 1
4699                          },
4700                          "end": {
4701                            "line": 1,
4702                            "column": 1
4703                          }
4704                        }
4705                      },
4706                      "decorators": [],
4707                      "loc": {
4708                        "start": {
4709                          "line": 1,
4710                          "column": 1
4711                        },
4712                        "end": {
4713                          "line": 1,
4714                          "column": 1
4715                        }
4716                      }
4717                    },
4718                    "loc": {
4719                      "start": {
4720                        "line": 1,
4721                        "column": 1
4722                      },
4723                      "end": {
4724                        "line": 1,
4725                        "column": 1
4726                      }
4727                    }
4728                  }
4729                ],
4730                "returnType": {
4731                  "type": "ETSTypeReference",
4732                  "part": {
4733                    "type": "ETSTypeReferencePart",
4734                    "name": {
4735                      "type": "Identifier",
4736                      "name": "#A",
4737                      "decorators": [],
4738                      "loc": {
4739                        "start": {
4740                          "line": 1,
4741                          "column": 1
4742                        },
4743                        "end": {
4744                          "line": 1,
4745                          "column": 1
4746                        }
4747                      }
4748                    },
4749                    "loc": {
4750                      "start": {
4751                        "line": 1,
4752                        "column": 1
4753                      },
4754                      "end": {
4755                        "line": 1,
4756                        "column": 1
4757                      }
4758                    }
4759                  },
4760                  "loc": {
4761                    "start": {
4762                      "line": 1,
4763                      "column": 1
4764                    },
4765                    "end": {
4766                      "line": 1,
4767                      "column": 1
4768                    }
4769                  }
4770                },
4771                "body": {
4772                  "type": "BlockStatement",
4773                  "statements": [
4774                    {
4775                      "type": "IfStatement",
4776                      "test": {
4777                        "type": "BinaryExpression",
4778                        "operator": "<",
4779                        "left": {
4780                          "type": "Identifier",
4781                          "name": "ordinal",
4782                          "decorators": [],
4783                          "loc": {
4784                            "start": {
4785                              "line": 1,
4786                              "column": 1
4787                            },
4788                            "end": {
4789                              "line": 1,
4790                              "column": 1
4791                            }
4792                          }
4793                        },
4794                        "right": {
4795                          "type": "MemberExpression",
4796                          "object": {
4797                            "type": "Identifier",
4798                            "name": "BoxedItemsArray",
4799                            "decorators": [],
4800                            "loc": {
4801                              "start": {
4802                                "line": 1,
4803                                "column": 1
4804                              },
4805                              "end": {
4806                                "line": 1,
4807                                "column": 1
4808                              }
4809                            }
4810                          },
4811                          "property": {
4812                            "type": "Identifier",
4813                            "name": "length",
4814                            "decorators": [],
4815                            "loc": {
4816                              "start": {
4817                                "line": 1,
4818                                "column": 1
4819                              },
4820                              "end": {
4821                                "line": 1,
4822                                "column": 1
4823                              }
4824                            }
4825                          },
4826                          "computed": false,
4827                          "optional": false,
4828                          "loc": {
4829                            "start": {
4830                              "line": 1,
4831                              "column": 1
4832                            },
4833                            "end": {
4834                              "line": 1,
4835                              "column": 1
4836                            }
4837                          }
4838                        },
4839                        "loc": {
4840                          "start": {
4841                            "line": 1,
4842                            "column": 1
4843                          },
4844                          "end": {
4845                            "line": 1,
4846                            "column": 1
4847                          }
4848                        }
4849                      },
4850                      "consequent": {
4851                        "type": "ReturnStatement",
4852                        "argument": {
4853                          "type": "MemberExpression",
4854                          "object": {
4855                            "type": "Identifier",
4856                            "name": "BoxedItemsArray",
4857                            "decorators": [],
4858                            "loc": {
4859                              "start": {
4860                                "line": 1,
4861                                "column": 1
4862                              },
4863                              "end": {
4864                                "line": 1,
4865                                "column": 1
4866                              }
4867                            }
4868                          },
4869                          "property": {
4870                            "type": "Identifier",
4871                            "name": "ordinal",
4872                            "decorators": [],
4873                            "loc": {
4874                              "start": {
4875                                "line": 1,
4876                                "column": 1
4877                              },
4878                              "end": {
4879                                "line": 1,
4880                                "column": 1
4881                              }
4882                            }
4883                          },
4884                          "computed": true,
4885                          "optional": false,
4886                          "loc": {
4887                            "start": {
4888                              "line": 1,
4889                              "column": 1
4890                            },
4891                            "end": {
4892                              "line": 1,
4893                              "column": 1
4894                            }
4895                          }
4896                        },
4897                        "loc": {
4898                          "start": {
4899                            "line": 1,
4900                            "column": 1
4901                          },
4902                          "end": {
4903                            "line": 1,
4904                            "column": 1
4905                          }
4906                        }
4907                      },
4908                      "alternate": null,
4909                      "loc": {
4910                        "start": {
4911                          "line": 1,
4912                          "column": 1
4913                        },
4914                        "end": {
4915                          "line": 1,
4916                          "column": 1
4917                        }
4918                      }
4919                    },
4920                    {
4921                      "type": "ThrowStatement",
4922                      "argument": {
4923                        "type": "ETSNewClassInstanceExpression",
4924                        "typeReference": {
4925                          "type": "ETSTypeReference",
4926                          "part": {
4927                            "type": "ETSTypeReferencePart",
4928                            "name": {
4929                              "type": "Identifier",
4930                              "name": "Exception",
4931                              "decorators": [],
4932                              "loc": {
4933                                "start": {
4934                                  "line": 1,
4935                                  "column": 1
4936                                },
4937                                "end": {
4938                                  "line": 1,
4939                                  "column": 1
4940                                }
4941                              }
4942                            },
4943                            "loc": {
4944                              "start": {
4945                                "line": 1,
4946                                "column": 1
4947                              },
4948                              "end": {
4949                                "line": 1,
4950                                "column": 1
4951                              }
4952                            }
4953                          },
4954                          "loc": {
4955                            "start": {
4956                              "line": 1,
4957                              "column": 1
4958                            },
4959                            "end": {
4960                              "line": 1,
4961                              "column": 1
4962                            }
4963                          }
4964                        },
4965                        "arguments": [
4966                          {
4967                            "type": "BinaryExpression",
4968                            "operator": "+",
4969                            "left": {
4970                              "type": "StringLiteral",
4971                              "value": "No enum constant in A with ordinal value ",
4972                              "loc": {
4973                                "start": {
4974                                  "line": 1,
4975                                  "column": 1
4976                                },
4977                                "end": {
4978                                  "line": 1,
4979                                  "column": 1
4980                                }
4981                              }
4982                            },
4983                            "right": {
4984                              "type": "Identifier",
4985                              "name": "ordinal",
4986                              "decorators": [],
4987                              "loc": {
4988                                "start": {
4989                                  "line": 1,
4990                                  "column": 1
4991                                },
4992                                "end": {
4993                                  "line": 1,
4994                                  "column": 1
4995                                }
4996                              }
4997                            },
4998                            "loc": {
4999                              "start": {
5000                                "line": 1,
5001                                "column": 1
5002                              },
5003                              "end": {
5004                                "line": 1,
5005                                "column": 1
5006                              }
5007                            }
5008                          }
5009                        ],
5010                        "loc": {
5011                          "start": {
5012                            "line": 1,
5013                            "column": 1
5014                          },
5015                          "end": {
5016                            "line": 1,
5017                            "column": 1
5018                          }
5019                        }
5020                      },
5021                      "loc": {
5022                        "start": {
5023                          "line": 1,
5024                          "column": 1
5025                        },
5026                        "end": {
5027                          "line": 1,
5028                          "column": 1
5029                        }
5030                      }
5031                    }
5032                  ],
5033                  "loc": {
5034                    "start": {
5035                      "line": 1,
5036                      "column": 1
5037                    },
5038                    "end": {
5039                      "line": 1,
5040                      "column": 1
5041                    }
5042                  }
5043                }
5044                "throwMarker": "throws",
5045                "loc": {
5046                  "start": {
5047                    "line": 1,
5048                    "column": 1
5049                  },
5050                  "end": {
5051                    "line": 1,
5052                    "column": 1
5053                  }
5054                }
5055              },
5056              "loc": {
5057                "start": {
5058                  "line": 1,
5059                  "column": 1
5060                },
5061                "end": {
5062                  "line": 1,
5063                  "column": 1
5064                }
5065              }
5066            },
5067            "overloads": [],
5068            "decorators": [],
5069            "loc": {
5070              "start": {
5071                "line": 1,
5072                "column": 1
5073              },
5074              "end": {
5075                "line": 1,
5076                "column": 1
5077              }
5078            }
5079          }
5080        ],
5081        "loc": {
5082          "start": {
5083            "line": 1,
5084            "column": 1
5085          },
5086          "end": {
5087            "line": 1,
5088            "column": 1
5089          }
5090        }
5091      },
5092      "loc": {
5093        "start": {
5094          "line": 1,
5095          "column": 1
5096        },
5097        "end": {
5098          "line": 1,
5099          "column": 1
5100        }
5101      }
5102    }
5103  ],
5104  "loc": {
5105    "start": {
5106      "line": 1,
5107      "column": 1
5108    },
5109    "end": {
5110      "line": 31,
5111      "column": 1
5112    }
5113  }
5114}
5115