1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSEnumDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "TrailingCommaEnum",
9        "decorators": [],
10        "loc": {
11          "start": {
12            "line": 16,
13            "column": 6
14          },
15          "end": {
16            "line": 16,
17            "column": 23
18          }
19        }
20      },
21      "members": [
22        {
23          "type": "TSEnumMember",
24          "id": {
25            "type": "Identifier",
26            "name": "Red",
27            "decorators": [],
28            "loc": {
29              "start": {
30                "line": 17,
31                "column": 3
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": 3
57            },
58            "end": {
59              "line": 17,
60              "column": 6
61            }
62          }
63        }
64      ],
65      "const": false,
66      "loc": {
67        "start": {
68          "line": 16,
69          "column": 1
70        },
71        "end": {
72          "line": 18,
73          "column": 2
74        }
75      }
76    },
77    {
78      "type": "ClassDeclaration",
79      "definition": {
80        "id": {
81          "type": "Identifier",
82          "name": "ETSGLOBAL",
83          "decorators": [],
84          "loc": {
85            "start": {
86              "line": 1,
87              "column": 1
88            },
89            "end": {
90              "line": 1,
91              "column": 1
92            }
93          }
94        },
95        "superClass": null,
96        "implements": [],
97        "body": [
98          {
99            "type": "MethodDefinition",
100            "key": {
101              "type": "Identifier",
102              "name": "_$init$_",
103              "decorators": [],
104              "loc": {
105                "start": {
106                  "line": 1,
107                  "column": 1
108                },
109                "end": {
110                  "line": 1,
111                  "column": 1
112                }
113              }
114            },
115            "kind": "method",
116            "accessibility": "public",
117            "static": true,
118            "optional": false,
119            "computed": false,
120            "value": {
121              "type": "FunctionExpression",
122              "function": {
123                "type": "ScriptFunction",
124                "id": {
125                  "type": "Identifier",
126                  "name": "_$init$_",
127                  "decorators": [],
128                  "loc": {
129                    "start": {
130                      "line": 1,
131                      "column": 1
132                    },
133                    "end": {
134                      "line": 1,
135                      "column": 1
136                    }
137                  }
138                },
139                "generator": false,
140                "async": false,
141                "expression": false,
142                "params": [],
143                "body": {
144                  "type": "BlockStatement",
145                  "statements": [],
146                  "loc": {
147                    "start": {
148                      "line": 1,
149                      "column": 1
150                    },
151                    "end": {
152                      "line": 1,
153                      "column": 1
154                    }
155                  }
156                },
157                "loc": {
158                  "start": {
159                    "line": 1,
160                    "column": 1
161                  },
162                  "end": {
163                    "line": 1,
164                    "column": 1
165                  }
166                }
167              },
168              "loc": {
169                "start": {
170                  "line": 1,
171                  "column": 1
172                },
173                "end": {
174                  "line": 1,
175                  "column": 1
176                }
177              }
178            },
179            "overloads": [],
180            "decorators": [],
181            "loc": {
182              "start": {
183                "line": 1,
184                "column": 1
185              },
186              "end": {
187                "line": 1,
188                "column": 1
189              }
190            }
191          }
192        ],
193        "loc": {
194          "start": {
195            "line": 1,
196            "column": 1
197          },
198          "end": {
199            "line": 1,
200            "column": 1
201          }
202        }
203      },
204      "loc": {
205        "start": {
206          "line": 1,
207          "column": 1
208        },
209        "end": {
210          "line": 1,
211          "column": 1
212        }
213      }
214    },
215    {
216      "type": "ClassDeclaration",
217      "definition": {
218        "id": {
219          "type": "Identifier",
220          "name": "#TrailingCommaEnum",
221          "decorators": [],
222          "loc": {
223            "start": {
224              "line": 1,
225              "column": 1
226            },
227            "end": {
228              "line": 1,
229              "column": 1
230            }
231          }
232        },
233        "superClass": null,
234        "implements": [],
235        "body": [
236          {
237            "type": "ClassProperty",
238            "key": {
239              "type": "Identifier",
240              "name": "ordinal",
241              "decorators": [],
242              "loc": {
243                "start": {
244                  "line": 1,
245                  "column": 1
246                },
247                "end": {
248                  "line": 1,
249                  "column": 1
250                }
251              }
252            },
253            "accessibility": "protected",
254            "static": false,
255            "readonly": false,
256            "declare": false,
257            "optional": false,
258            "computed": false,
259            "typeAnnotation": {
260              "type": "ETSPrimitiveType",
261              "loc": {
262                "start": {
263                  "line": 1,
264                  "column": 1
265                },
266                "end": {
267                  "line": 1,
268                  "column": 1
269                }
270              }
271            },
272            "definite": false,
273            "decorators": [],
274            "loc": {
275              "start": {
276                "line": 1,
277                "column": 1
278              },
279              "end": {
280                "line": 1,
281                "column": 1
282              }
283            }
284          },
285          {
286            "type": "MethodDefinition",
287            "key": {
288              "type": "Identifier",
289              "name": "<cctor>",
290              "decorators": [],
291              "loc": {
292                "start": {
293                  "line": 1,
294                  "column": 1
295                },
296                "end": {
297                  "line": 1,
298                  "column": 1
299                }
300              }
301            },
302            "kind": "method",
303            "accessibility": "public",
304            "static": true,
305            "optional": false,
306            "computed": false,
307            "value": {
308              "type": "FunctionExpression",
309              "function": {
310                "type": "ScriptFunction",
311                "id": {
312                  "type": "Identifier",
313                  "name": "<cctor>",
314                  "decorators": [],
315                  "loc": {
316                    "start": {
317                      "line": 1,
318                      "column": 1
319                    },
320                    "end": {
321                      "line": 1,
322                      "column": 1
323                    }
324                  }
325                },
326                "generator": false,
327                "async": false,
328                "expression": false,
329                "params": [],
330                "body": {
331                  "type": "BlockStatement",
332                  "statements": [],
333                  "loc": {
334                    "start": {
335                      "line": 1,
336                      "column": 1
337                    },
338                    "end": {
339                      "line": 1,
340                      "column": 1
341                    }
342                  }
343                },
344                "loc": {
345                  "start": {
346                    "line": 1,
347                    "column": 1
348                  },
349                  "end": {
350                    "line": 1,
351                    "column": 1
352                  }
353                }
354              },
355              "loc": {
356                "start": {
357                  "line": 1,
358                  "column": 1
359                },
360                "end": {
361                  "line": 1,
362                  "column": 1
363                }
364              }
365            },
366            "overloads": [],
367            "decorators": [],
368            "loc": {
369              "start": {
370                "line": 1,
371                "column": 1
372              },
373              "end": {
374                "line": 1,
375                "column": 1
376              }
377            }
378          },
379          {
380            "type": "MethodDefinition",
381            "key": {
382              "type": "Identifier",
383              "name": "constructor",
384              "decorators": [],
385              "loc": {
386                "start": {
387                  "line": 1,
388                  "column": 1
389                },
390                "end": {
391                  "line": 1,
392                  "column": 1
393                }
394              }
395            },
396            "kind": "constructor",
397            "accessibility": "public",
398            "static": false,
399            "optional": false,
400            "computed": false,
401            "value": {
402              "type": "FunctionExpression",
403              "function": {
404                "type": "ScriptFunction",
405                "id": {
406                  "type": "Identifier",
407                  "name": "constructor",
408                  "decorators": [],
409                  "loc": {
410                    "start": {
411                      "line": 1,
412                      "column": 1
413                    },
414                    "end": {
415                      "line": 1,
416                      "column": 1
417                    }
418                  }
419                },
420                "generator": false,
421                "async": false,
422                "expression": false,
423                "params": [
424                  {
425                    "type": "ETSParameterExpression",
426                    "name": {
427                      "type": "Identifier",
428                      "name": "ordinal",
429                      "typeAnnotation": {
430                        "type": "ETSPrimitiveType",
431                        "loc": {
432                          "start": {
433                            "line": 1,
434                            "column": 1
435                          },
436                          "end": {
437                            "line": 1,
438                            "column": 1
439                          }
440                        }
441                      },
442                      "decorators": [],
443                      "loc": {
444                        "start": {
445                          "line": 1,
446                          "column": 1
447                        },
448                        "end": {
449                          "line": 1,
450                          "column": 1
451                        }
452                      }
453                    },
454                    "loc": {
455                      "start": {
456                        "line": 1,
457                        "column": 1
458                      },
459                      "end": {
460                        "line": 1,
461                        "column": 1
462                      }
463                    }
464                  }
465                ],
466                "body": {
467                  "type": "BlockStatement",
468                  "statements": [
469                    {
470                      "type": "ExpressionStatement",
471                      "expression": {
472                        "type": "AssignmentExpression",
473                        "operator": "=",
474                        "left": {
475                          "type": "MemberExpression",
476                          "object": {
477                            "type": "ThisExpression",
478                            "loc": {
479                              "start": {
480                                "line": 1,
481                                "column": 1
482                              },
483                              "end": {
484                                "line": 1,
485                                "column": 1
486                              }
487                            }
488                          },
489                          "property": {
490                            "type": "Identifier",
491                            "name": "ordinal",
492                            "decorators": [],
493                            "loc": {
494                              "start": {
495                                "line": 1,
496                                "column": 1
497                              },
498                              "end": {
499                                "line": 1,
500                                "column": 1
501                              }
502                            }
503                          },
504                          "computed": false,
505                          "optional": false,
506                          "loc": {
507                            "start": {
508                              "line": 1,
509                              "column": 1
510                            },
511                            "end": {
512                              "line": 1,
513                              "column": 1
514                            }
515                          }
516                        },
517                        "right": {
518                          "type": "Identifier",
519                          "name": "ordinal",
520                          "decorators": [],
521                          "loc": {
522                            "start": {
523                              "line": 1,
524                              "column": 1
525                            },
526                            "end": {
527                              "line": 1,
528                              "column": 1
529                            }
530                          }
531                        },
532                        "loc": {
533                          "start": {
534                            "line": 1,
535                            "column": 1
536                          },
537                          "end": {
538                            "line": 1,
539                            "column": 1
540                          }
541                        }
542                      },
543                      "loc": {
544                        "start": {
545                          "line": 1,
546                          "column": 1
547                        },
548                        "end": {
549                          "line": 1,
550                          "column": 1
551                        }
552                      }
553                    }
554                  ],
555                  "loc": {
556                    "start": {
557                      "line": 1,
558                      "column": 1
559                    },
560                    "end": {
561                      "line": 1,
562                      "column": 1
563                    }
564                  }
565                },
566                "loc": {
567                  "start": {
568                    "line": 1,
569                    "column": 1
570                  },
571                  "end": {
572                    "line": 1,
573                    "column": 1
574                  }
575                }
576              },
577              "loc": {
578                "start": {
579                  "line": 1,
580                  "column": 1
581                },
582                "end": {
583                  "line": 1,
584                  "column": 1
585                }
586              }
587            },
588            "overloads": [],
589            "decorators": [],
590            "loc": {
591              "start": {
592                "line": 1,
593                "column": 1
594              },
595              "end": {
596                "line": 1,
597                "column": 1
598              }
599            }
600          },
601          {
602            "type": "ClassProperty",
603            "key": {
604              "type": "Identifier",
605              "name": "NamesArray",
606              "decorators": [],
607              "loc": {
608                "start": {
609                  "line": 1,
610                  "column": 1
611                },
612                "end": {
613                  "line": 1,
614                  "column": 1
615                }
616              }
617            },
618            "value": {
619              "type": "ArrayExpression",
620              "elements": [
621                {
622                  "type": "StringLiteral",
623                  "value": "Red",
624                  "loc": {
625                    "start": {
626                      "line": 1,
627                      "column": 1
628                    },
629                    "end": {
630                      "line": 1,
631                      "column": 1
632                    }
633                  }
634                }
635              ],
636              "loc": {
637                "start": {
638                  "line": 1,
639                  "column": 1
640                },
641                "end": {
642                  "line": 1,
643                  "column": 1
644                }
645              }
646            },
647            "accessibility": "protected",
648            "static": true,
649            "readonly": false,
650            "declare": false,
651            "optional": false,
652            "computed": false,
653            "typeAnnotation": {
654              "type": "TSArrayType",
655              "elementType": {
656                "type": "ETSTypeReference",
657                "part": {
658                  "type": "ETSTypeReferencePart",
659                  "name": {
660                    "type": "Identifier",
661                    "name": "String",
662                    "decorators": [],
663                    "loc": {
664                      "start": {
665                        "line": 1,
666                        "column": 1
667                      },
668                      "end": {
669                        "line": 1,
670                        "column": 1
671                      }
672                    }
673                  },
674                  "loc": {
675                    "start": {
676                      "line": 1,
677                      "column": 1
678                    },
679                    "end": {
680                      "line": 1,
681                      "column": 1
682                    }
683                  }
684                },
685                "loc": {
686                  "start": {
687                    "line": 1,
688                    "column": 1
689                  },
690                  "end": {
691                    "line": 1,
692                    "column": 1
693                  }
694                }
695              },
696              "loc": {
697                "start": {
698                  "line": 1,
699                  "column": 1
700                },
701                "end": {
702                  "line": 1,
703                  "column": 1
704                }
705              }
706            },
707            "definite": false,
708            "decorators": [],
709            "loc": {
710              "start": {
711                "line": 1,
712                "column": 1
713              },
714              "end": {
715                "line": 1,
716                "column": 1
717              }
718            }
719          },
720          {
721            "type": "ClassProperty",
722            "key": {
723              "type": "Identifier",
724              "name": "ValuesArray",
725              "decorators": [],
726              "loc": {
727                "start": {
728                  "line": 1,
729                  "column": 1
730                },
731                "end": {
732                  "line": 1,
733                  "column": 1
734                }
735              }
736            },
737            "value": {
738              "type": "ArrayExpression",
739              "elements": [
740                {
741                  "type": "NumberLiteral",
742                  "value": 0,
743                  "loc": {
744                    "start": {
745                      "line": 1,
746                      "column": 1
747                    },
748                    "end": {
749                      "line": 1,
750                      "column": 1
751                    }
752                  }
753                }
754              ],
755              "loc": {
756                "start": {
757                  "line": 1,
758                  "column": 1
759                },
760                "end": {
761                  "line": 1,
762                  "column": 1
763                }
764              }
765            },
766            "accessibility": "protected",
767            "static": true,
768            "readonly": false,
769            "declare": false,
770            "optional": false,
771            "computed": false,
772            "typeAnnotation": {
773              "type": "TSArrayType",
774              "elementType": {
775                "type": "ETSPrimitiveType",
776                "loc": {
777                  "start": {
778                    "line": 1,
779                    "column": 1
780                  },
781                  "end": {
782                    "line": 1,
783                    "column": 1
784                  }
785                }
786              },
787              "loc": {
788                "start": {
789                  "line": 1,
790                  "column": 1
791                },
792                "end": {
793                  "line": 1,
794                  "column": 1
795                }
796              }
797            },
798            "definite": false,
799            "decorators": [],
800            "loc": {
801              "start": {
802                "line": 1,
803                "column": 1
804              },
805              "end": {
806                "line": 1,
807                "column": 1
808              }
809            }
810          },
811          {
812            "type": "ClassProperty",
813            "key": {
814              "type": "Identifier",
815              "name": "StringValuesArray",
816              "decorators": [],
817              "loc": {
818                "start": {
819                  "line": 1,
820                  "column": 1
821                },
822                "end": {
823                  "line": 1,
824                  "column": 1
825                }
826              }
827            },
828            "value": {
829              "type": "ArrayExpression",
830              "elements": [
831                {
832                  "type": "StringLiteral",
833                  "value": "0",
834                  "loc": {
835                    "start": {
836                      "line": 1,
837                      "column": 1
838                    },
839                    "end": {
840                      "line": 1,
841                      "column": 1
842                    }
843                  }
844                }
845              ],
846              "loc": {
847                "start": {
848                  "line": 1,
849                  "column": 1
850                },
851                "end": {
852                  "line": 1,
853                  "column": 1
854                }
855              }
856            },
857            "accessibility": "protected",
858            "static": true,
859            "readonly": false,
860            "declare": false,
861            "optional": false,
862            "computed": false,
863            "typeAnnotation": {
864              "type": "TSArrayType",
865              "elementType": {
866                "type": "ETSTypeReference",
867                "part": {
868                  "type": "ETSTypeReferencePart",
869                  "name": {
870                    "type": "Identifier",
871                    "name": "String",
872                    "decorators": [],
873                    "loc": {
874                      "start": {
875                        "line": 1,
876                        "column": 1
877                      },
878                      "end": {
879                        "line": 1,
880                        "column": 1
881                      }
882                    }
883                  },
884                  "loc": {
885                    "start": {
886                      "line": 1,
887                      "column": 1
888                    },
889                    "end": {
890                      "line": 1,
891                      "column": 1
892                    }
893                  }
894                },
895                "loc": {
896                  "start": {
897                    "line": 1,
898                    "column": 1
899                  },
900                  "end": {
901                    "line": 1,
902                    "column": 1
903                  }
904                }
905              },
906              "loc": {
907                "start": {
908                  "line": 1,
909                  "column": 1
910                },
911                "end": {
912                  "line": 1,
913                  "column": 1
914                }
915              }
916            },
917            "definite": false,
918            "decorators": [],
919            "loc": {
920              "start": {
921                "line": 1,
922                "column": 1
923              },
924              "end": {
925                "line": 1,
926                "column": 1
927              }
928            }
929          },
930          {
931            "type": "ClassProperty",
932            "key": {
933              "type": "Identifier",
934              "name": "ItemsArray",
935              "decorators": [],
936              "loc": {
937                "start": {
938                  "line": 1,
939                  "column": 1
940                },
941                "end": {
942                  "line": 1,
943                  "column": 1
944                }
945              }
946            },
947            "value": {
948              "type": "ArrayExpression",
949              "elements": [
950                {
951                  "type": "MemberExpression",
952                  "object": {
953                    "type": "Identifier",
954                    "name": "TrailingCommaEnum",
955                    "decorators": [],
956                    "loc": {
957                      "start": {
958                        "line": 1,
959                        "column": 1
960                      },
961                      "end": {
962                        "line": 1,
963                        "column": 1
964                      }
965                    }
966                  },
967                  "property": {
968                    "type": "Identifier",
969                    "name": "Red",
970                    "decorators": [],
971                    "loc": {
972                      "start": {
973                        "line": 1,
974                        "column": 1
975                      },
976                      "end": {
977                        "line": 1,
978                        "column": 1
979                      }
980                    }
981                  },
982                  "computed": false,
983                  "optional": false,
984                  "loc": {
985                    "start": {
986                      "line": 1,
987                      "column": 1
988                    },
989                    "end": {
990                      "line": 1,
991                      "column": 1
992                    }
993                  }
994                }
995              ],
996              "loc": {
997                "start": {
998                  "line": 1,
999                  "column": 1
1000                },
1001                "end": {
1002                  "line": 1,
1003                  "column": 1
1004                }
1005              }
1006            },
1007            "accessibility": "protected",
1008            "static": true,
1009            "readonly": false,
1010            "declare": false,
1011            "optional": false,
1012            "computed": false,
1013            "typeAnnotation": {
1014              "type": "TSArrayType",
1015              "elementType": {
1016                "type": "ETSTypeReference",
1017                "part": {
1018                  "type": "ETSTypeReferencePart",
1019                  "name": {
1020                    "type": "Identifier",
1021                    "name": "TrailingCommaEnum",
1022                    "decorators": [],
1023                    "loc": {
1024                      "start": {
1025                        "line": 1,
1026                        "column": 1
1027                      },
1028                      "end": {
1029                        "line": 1,
1030                        "column": 1
1031                      }
1032                    }
1033                  },
1034                  "loc": {
1035                    "start": {
1036                      "line": 1,
1037                      "column": 1
1038                    },
1039                    "end": {
1040                      "line": 1,
1041                      "column": 1
1042                    }
1043                  }
1044                },
1045                "loc": {
1046                  "start": {
1047                    "line": 1,
1048                    "column": 1
1049                  },
1050                  "end": {
1051                    "line": 1,
1052                    "column": 1
1053                  }
1054                }
1055              },
1056              "loc": {
1057                "start": {
1058                  "line": 1,
1059                  "column": 1
1060                },
1061                "end": {
1062                  "line": 1,
1063                  "column": 1
1064                }
1065              }
1066            },
1067            "definite": false,
1068            "decorators": [],
1069            "loc": {
1070              "start": {
1071                "line": 1,
1072                "column": 1
1073              },
1074              "end": {
1075                "line": 1,
1076                "column": 1
1077              }
1078            }
1079          },
1080          {
1081            "type": "ClassProperty",
1082            "key": {
1083              "type": "Identifier",
1084              "name": "BoxedItemsArray",
1085              "decorators": [],
1086              "loc": {
1087                "start": {
1088                  "line": 1,
1089                  "column": 1
1090                },
1091                "end": {
1092                  "line": 1,
1093                  "column": 1
1094                }
1095              }
1096            },
1097            "value": {
1098              "type": "ArrayExpression",
1099              "elements": [
1100                {
1101                  "type": "ETSNewClassInstanceExpression",
1102                  "typeReference": {
1103                    "type": "ETSTypeReference",
1104                    "part": {
1105                      "type": "ETSTypeReferencePart",
1106                      "name": {
1107                        "type": "Identifier",
1108                        "name": "#TrailingCommaEnum",
1109                        "decorators": [],
1110                        "loc": {
1111                          "start": {
1112                            "line": 1,
1113                            "column": 1
1114                          },
1115                          "end": {
1116                            "line": 1,
1117                            "column": 1
1118                          }
1119                        }
1120                      },
1121                      "loc": {
1122                        "start": {
1123                          "line": 1,
1124                          "column": 1
1125                        },
1126                        "end": {
1127                          "line": 1,
1128                          "column": 1
1129                        }
1130                      }
1131                    },
1132                    "loc": {
1133                      "start": {
1134                        "line": 1,
1135                        "column": 1
1136                      },
1137                      "end": {
1138                        "line": 1,
1139                        "column": 1
1140                      }
1141                    }
1142                  },
1143                  "arguments": [
1144                    {
1145                      "type": "TSAsExpression",
1146                      "expression": {
1147                        "type": "MemberExpression",
1148                        "object": {
1149                          "type": "Identifier",
1150                          "name": "TrailingCommaEnum",
1151                          "decorators": [],
1152                          "loc": {
1153                            "start": {
1154                              "line": 1,
1155                              "column": 1
1156                            },
1157                            "end": {
1158                              "line": 1,
1159                              "column": 1
1160                            }
1161                          }
1162                        },
1163                        "property": {
1164                          "type": "Identifier",
1165                          "name": "Red",
1166                          "decorators": [],
1167                          "loc": {
1168                            "start": {
1169                              "line": 1,
1170                              "column": 1
1171                            },
1172                            "end": {
1173                              "line": 1,
1174                              "column": 1
1175                            }
1176                          }
1177                        },
1178                        "computed": false,
1179                        "optional": false,
1180                        "loc": {
1181                          "start": {
1182                            "line": 1,
1183                            "column": 1
1184                          },
1185                          "end": {
1186                            "line": 1,
1187                            "column": 1
1188                          }
1189                        }
1190                      },
1191                      "typeAnnotation": {
1192                        "type": "ETSPrimitiveType",
1193                        "loc": {
1194                          "start": {
1195                            "line": 1,
1196                            "column": 1
1197                          },
1198                          "end": {
1199                            "line": 1,
1200                            "column": 1
1201                          }
1202                        }
1203                      },
1204                      "loc": {
1205                        "start": {
1206                          "line": 1,
1207                          "column": 1
1208                        },
1209                        "end": {
1210                          "line": 1,
1211                          "column": 1
1212                        }
1213                      }
1214                    }
1215                  ],
1216                  "loc": {
1217                    "start": {
1218                      "line": 1,
1219                      "column": 1
1220                    },
1221                    "end": {
1222                      "line": 1,
1223                      "column": 1
1224                    }
1225                  }
1226                }
1227              ],
1228              "loc": {
1229                "start": {
1230                  "line": 1,
1231                  "column": 1
1232                },
1233                "end": {
1234                  "line": 1,
1235                  "column": 1
1236                }
1237              }
1238            },
1239            "accessibility": "protected",
1240            "static": true,
1241            "readonly": false,
1242            "declare": false,
1243            "optional": false,
1244            "computed": false,
1245            "typeAnnotation": {
1246              "type": "TSArrayType",
1247              "elementType": {
1248                "type": "ETSTypeReference",
1249                "part": {
1250                  "type": "ETSTypeReferencePart",
1251                  "name": {
1252                    "type": "Identifier",
1253                    "name": "#TrailingCommaEnum",
1254                    "decorators": [],
1255                    "loc": {
1256                      "start": {
1257                        "line": 1,
1258                        "column": 1
1259                      },
1260                      "end": {
1261                        "line": 1,
1262                        "column": 1
1263                      }
1264                    }
1265                  },
1266                  "loc": {
1267                    "start": {
1268                      "line": 1,
1269                      "column": 1
1270                    },
1271                    "end": {
1272                      "line": 1,
1273                      "column": 1
1274                    }
1275                  }
1276                },
1277                "loc": {
1278                  "start": {
1279                    "line": 1,
1280                    "column": 1
1281                  },
1282                  "end": {
1283                    "line": 1,
1284                    "column": 1
1285                  }
1286                }
1287              },
1288              "loc": {
1289                "start": {
1290                  "line": 1,
1291                  "column": 1
1292                },
1293                "end": {
1294                  "line": 1,
1295                  "column": 1
1296                }
1297              }
1298            },
1299            "definite": false,
1300            "decorators": [],
1301            "loc": {
1302              "start": {
1303                "line": 1,
1304                "column": 1
1305              },
1306              "end": {
1307                "line": 1,
1308                "column": 1
1309              }
1310            }
1311          },
1312          {
1313            "type": "MethodDefinition",
1314            "key": {
1315              "type": "Identifier",
1316              "name": "getName",
1317              "decorators": [],
1318              "loc": {
1319                "start": {
1320                  "line": 1,
1321                  "column": 1
1322                },
1323                "end": {
1324                  "line": 1,
1325                  "column": 1
1326                }
1327              }
1328            },
1329            "kind": "method",
1330            "accessibility": "public",
1331            "static": true,
1332            "optional": false,
1333            "computed": false,
1334            "value": {
1335              "type": "FunctionExpression",
1336              "function": {
1337                "type": "ScriptFunction",
1338                "id": {
1339                  "type": "Identifier",
1340                  "name": "getName",
1341                  "decorators": [],
1342                  "loc": {
1343                    "start": {
1344                      "line": 1,
1345                      "column": 1
1346                    },
1347                    "end": {
1348                      "line": 1,
1349                      "column": 1
1350                    }
1351                  }
1352                },
1353                "generator": false,
1354                "async": false,
1355                "expression": false,
1356                "params": [
1357                  {
1358                    "type": "ETSParameterExpression",
1359                    "name": {
1360                      "type": "Identifier",
1361                      "name": "ordinal",
1362                      "typeAnnotation": {
1363                        "type": "ETSTypeReference",
1364                        "part": {
1365                          "type": "ETSTypeReferencePart",
1366                          "name": {
1367                            "type": "Identifier",
1368                            "name": "TrailingCommaEnum",
1369                            "decorators": [],
1370                            "loc": {
1371                              "start": {
1372                                "line": 1,
1373                                "column": 1
1374                              },
1375                              "end": {
1376                                "line": 1,
1377                                "column": 1
1378                              }
1379                            }
1380                          },
1381                          "loc": {
1382                            "start": {
1383                              "line": 1,
1384                              "column": 1
1385                            },
1386                            "end": {
1387                              "line": 1,
1388                              "column": 1
1389                            }
1390                          }
1391                        },
1392                        "loc": {
1393                          "start": {
1394                            "line": 1,
1395                            "column": 1
1396                          },
1397                          "end": {
1398                            "line": 1,
1399                            "column": 1
1400                          }
1401                        }
1402                      },
1403                      "decorators": [],
1404                      "loc": {
1405                        "start": {
1406                          "line": 1,
1407                          "column": 1
1408                        },
1409                        "end": {
1410                          "line": 1,
1411                          "column": 1
1412                        }
1413                      }
1414                    },
1415                    "loc": {
1416                      "start": {
1417                        "line": 1,
1418                        "column": 1
1419                      },
1420                      "end": {
1421                        "line": 1,
1422                        "column": 1
1423                      }
1424                    }
1425                  }
1426                ],
1427                "returnType": {
1428                  "type": "ETSTypeReference",
1429                  "part": {
1430                    "type": "ETSTypeReferencePart",
1431                    "name": {
1432                      "type": "Identifier",
1433                      "name": "String",
1434                      "decorators": [],
1435                      "loc": {
1436                        "start": {
1437                          "line": 1,
1438                          "column": 1
1439                        },
1440                        "end": {
1441                          "line": 1,
1442                          "column": 1
1443                        }
1444                      }
1445                    },
1446                    "loc": {
1447                      "start": {
1448                        "line": 1,
1449                        "column": 1
1450                      },
1451                      "end": {
1452                        "line": 1,
1453                        "column": 1
1454                      }
1455                    }
1456                  },
1457                  "loc": {
1458                    "start": {
1459                      "line": 1,
1460                      "column": 1
1461                    },
1462                    "end": {
1463                      "line": 1,
1464                      "column": 1
1465                    }
1466                  }
1467                },
1468                "body": {
1469                  "type": "BlockStatement",
1470                  "statements": [
1471                    {
1472                      "type": "ReturnStatement",
1473                      "argument": {
1474                        "type": "MemberExpression",
1475                        "object": {
1476                          "type": "Identifier",
1477                          "name": "NamesArray",
1478                          "decorators": [],
1479                          "loc": {
1480                            "start": {
1481                              "line": 1,
1482                              "column": 1
1483                            },
1484                            "end": {
1485                              "line": 1,
1486                              "column": 1
1487                            }
1488                          }
1489                        },
1490                        "property": {
1491                          "type": "TSAsExpression",
1492                          "expression": {
1493                            "type": "Identifier",
1494                            "name": "ordinal",
1495                            "decorators": [],
1496                            "loc": {
1497                              "start": {
1498                                "line": 1,
1499                                "column": 1
1500                              },
1501                              "end": {
1502                                "line": 1,
1503                                "column": 1
1504                              }
1505                            }
1506                          },
1507                          "typeAnnotation": {
1508                            "type": "ETSPrimitiveType",
1509                            "loc": {
1510                              "start": {
1511                                "line": 1,
1512                                "column": 1
1513                              },
1514                              "end": {
1515                                "line": 1,
1516                                "column": 1
1517                              }
1518                            }
1519                          },
1520                          "loc": {
1521                            "start": {
1522                              "line": 1,
1523                              "column": 1
1524                            },
1525                            "end": {
1526                              "line": 1,
1527                              "column": 1
1528                            }
1529                          }
1530                        },
1531                        "computed": true,
1532                        "optional": false,
1533                        "loc": {
1534                          "start": {
1535                            "line": 1,
1536                            "column": 1
1537                          },
1538                          "end": {
1539                            "line": 1,
1540                            "column": 1
1541                          }
1542                        }
1543                      },
1544                      "loc": {
1545                        "start": {
1546                          "line": 1,
1547                          "column": 1
1548                        },
1549                        "end": {
1550                          "line": 1,
1551                          "column": 1
1552                        }
1553                      }
1554                    }
1555                  ],
1556                  "loc": {
1557                    "start": {
1558                      "line": 1,
1559                      "column": 1
1560                    },
1561                    "end": {
1562                      "line": 1,
1563                      "column": 1
1564                    }
1565                  }
1566                },
1567                "loc": {
1568                  "start": {
1569                    "line": 1,
1570                    "column": 1
1571                  },
1572                  "end": {
1573                    "line": 1,
1574                    "column": 1
1575                  }
1576                }
1577              },
1578              "loc": {
1579                "start": {
1580                  "line": 1,
1581                  "column": 1
1582                },
1583                "end": {
1584                  "line": 1,
1585                  "column": 1
1586                }
1587              }
1588            },
1589            "overloads": [],
1590            "decorators": [],
1591            "loc": {
1592              "start": {
1593                "line": 1,
1594                "column": 1
1595              },
1596              "end": {
1597                "line": 1,
1598                "column": 1
1599              }
1600            }
1601          },
1602          {
1603            "type": "MethodDefinition",
1604            "key": {
1605              "type": "Identifier",
1606              "name": "getValueOf",
1607              "decorators": [],
1608              "loc": {
1609                "start": {
1610                  "line": 1,
1611                  "column": 1
1612                },
1613                "end": {
1614                  "line": 1,
1615                  "column": 1
1616                }
1617              }
1618            },
1619            "kind": "method",
1620            "accessibility": "public",
1621            "static": true,
1622            "optional": false,
1623            "computed": false,
1624            "value": {
1625              "type": "FunctionExpression",
1626              "function": {
1627                "type": "ScriptFunction",
1628                "id": {
1629                  "type": "Identifier",
1630                  "name": "getValueOf",
1631                  "decorators": [],
1632                  "loc": {
1633                    "start": {
1634                      "line": 1,
1635                      "column": 1
1636                    },
1637                    "end": {
1638                      "line": 1,
1639                      "column": 1
1640                    }
1641                  }
1642                },
1643                "generator": false,
1644                "async": false,
1645                "expression": false,
1646                "params": [
1647                  {
1648                    "type": "ETSParameterExpression",
1649                    "name": {
1650                      "type": "Identifier",
1651                      "name": "name",
1652                      "typeAnnotation": {
1653                        "type": "ETSTypeReference",
1654                        "part": {
1655                          "type": "ETSTypeReferencePart",
1656                          "name": {
1657                            "type": "Identifier",
1658                            "name": "String",
1659                            "decorators": [],
1660                            "loc": {
1661                              "start": {
1662                                "line": 1,
1663                                "column": 1
1664                              },
1665                              "end": {
1666                                "line": 1,
1667                                "column": 1
1668                              }
1669                            }
1670                          },
1671                          "loc": {
1672                            "start": {
1673                              "line": 1,
1674                              "column": 1
1675                            },
1676                            "end": {
1677                              "line": 1,
1678                              "column": 1
1679                            }
1680                          }
1681                        },
1682                        "loc": {
1683                          "start": {
1684                            "line": 1,
1685                            "column": 1
1686                          },
1687                          "end": {
1688                            "line": 1,
1689                            "column": 1
1690                          }
1691                        }
1692                      },
1693                      "decorators": [],
1694                      "loc": {
1695                        "start": {
1696                          "line": 1,
1697                          "column": 1
1698                        },
1699                        "end": {
1700                          "line": 1,
1701                          "column": 1
1702                        }
1703                      }
1704                    },
1705                    "loc": {
1706                      "start": {
1707                        "line": 1,
1708                        "column": 1
1709                      },
1710                      "end": {
1711                        "line": 1,
1712                        "column": 1
1713                      }
1714                    }
1715                  }
1716                ],
1717                "returnType": {
1718                  "type": "ETSTypeReference",
1719                  "part": {
1720                    "type": "ETSTypeReferencePart",
1721                    "name": {
1722                      "type": "Identifier",
1723                      "name": "TrailingCommaEnum",
1724                      "decorators": [],
1725                      "loc": {
1726                        "start": {
1727                          "line": 1,
1728                          "column": 1
1729                        },
1730                        "end": {
1731                          "line": 1,
1732                          "column": 1
1733                        }
1734                      }
1735                    },
1736                    "loc": {
1737                      "start": {
1738                        "line": 1,
1739                        "column": 1
1740                      },
1741                      "end": {
1742                        "line": 1,
1743                        "column": 1
1744                      }
1745                    }
1746                  },
1747                  "loc": {
1748                    "start": {
1749                      "line": 1,
1750                      "column": 1
1751                    },
1752                    "end": {
1753                      "line": 1,
1754                      "column": 1
1755                    }
1756                  }
1757                },
1758                "body": {
1759                  "type": "BlockStatement",
1760                  "statements": [
1761                    {
1762                      "type": "ForUpdateStatement",
1763                      "init": {
1764                        "type": "VariableDeclaration",
1765                        "declarations": [
1766                          {
1767                            "type": "VariableDeclarator",
1768                            "id": {
1769                              "type": "Identifier",
1770                              "name": "i",
1771                              "decorators": [],
1772                              "loc": {
1773                                "start": {
1774                                  "line": 1,
1775                                  "column": 1
1776                                },
1777                                "end": {
1778                                  "line": 1,
1779                                  "column": 1
1780                                }
1781                              }
1782                            },
1783                            "init": {
1784                              "type": "NumberLiteral",
1785                              "value": 0,
1786                              "loc": {
1787                                "start": {
1788                                  "line": 1,
1789                                  "column": 1
1790                                },
1791                                "end": {
1792                                  "line": 1,
1793                                  "column": 1
1794                                }
1795                              }
1796                            },
1797                            "loc": {
1798                              "start": {
1799                                "line": 1,
1800                                "column": 1
1801                              },
1802                              "end": {
1803                                "line": 1,
1804                                "column": 1
1805                              }
1806                            }
1807                          }
1808                        ],
1809                        "kind": "let",
1810                        "loc": {
1811                          "start": {
1812                            "line": 1,
1813                            "column": 1
1814                          },
1815                          "end": {
1816                            "line": 1,
1817                            "column": 1
1818                          }
1819                        }
1820                      },
1821                      "test": {
1822                        "type": "BinaryExpression",
1823                        "operator": "<",
1824                        "left": {
1825                          "type": "Identifier",
1826                          "name": "i",
1827                          "decorators": [],
1828                          "loc": {
1829                            "start": {
1830                              "line": 1,
1831                              "column": 1
1832                            },
1833                            "end": {
1834                              "line": 1,
1835                              "column": 1
1836                            }
1837                          }
1838                        },
1839                        "right": {
1840                          "type": "MemberExpression",
1841                          "object": {
1842                            "type": "Identifier",
1843                            "name": "NamesArray",
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                          "property": {
1857                            "type": "Identifier",
1858                            "name": "length",
1859                            "decorators": [],
1860                            "loc": {
1861                              "start": {
1862                                "line": 1,
1863                                "column": 1
1864                              },
1865                              "end": {
1866                                "line": 1,
1867                                "column": 1
1868                              }
1869                            }
1870                          },
1871                          "computed": false,
1872                          "optional": false,
1873                          "loc": {
1874                            "start": {
1875                              "line": 1,
1876                              "column": 1
1877                            },
1878                            "end": {
1879                              "line": 1,
1880                              "column": 1
1881                            }
1882                          }
1883                        },
1884                        "loc": {
1885                          "start": {
1886                            "line": 1,
1887                            "column": 1
1888                          },
1889                          "end": {
1890                            "line": 1,
1891                            "column": 1
1892                          }
1893                        }
1894                      },
1895                      "update": {
1896                        "type": "UpdateExpression",
1897                        "operator": "++",
1898                        "prefix": true,
1899                        "argument": {
1900                          "type": "Identifier",
1901                          "name": "i",
1902                          "decorators": [],
1903                          "loc": {
1904                            "start": {
1905                              "line": 1,
1906                              "column": 1
1907                            },
1908                            "end": {
1909                              "line": 1,
1910                              "column": 1
1911                            }
1912                          }
1913                        },
1914                        "loc": {
1915                          "start": {
1916                            "line": 1,
1917                            "column": 1
1918                          },
1919                          "end": {
1920                            "line": 1,
1921                            "column": 1
1922                          }
1923                        }
1924                      },
1925                      "body": {
1926                        "type": "IfStatement",
1927                        "test": {
1928                          "type": "BinaryExpression",
1929                          "operator": "==",
1930                          "left": {
1931                            "type": "Identifier",
1932                            "name": "name",
1933                            "decorators": [],
1934                            "loc": {
1935                              "start": {
1936                                "line": 1,
1937                                "column": 1
1938                              },
1939                              "end": {
1940                                "line": 1,
1941                                "column": 1
1942                              }
1943                            }
1944                          },
1945                          "right": {
1946                            "type": "MemberExpression",
1947                            "object": {
1948                              "type": "Identifier",
1949                              "name": "NamesArray",
1950                              "decorators": [],
1951                              "loc": {
1952                                "start": {
1953                                  "line": 1,
1954                                  "column": 1
1955                                },
1956                                "end": {
1957                                  "line": 1,
1958                                  "column": 1
1959                                }
1960                              }
1961                            },
1962                            "property": {
1963                              "type": "Identifier",
1964                              "name": "i",
1965                              "decorators": [],
1966                              "loc": {
1967                                "start": {
1968                                  "line": 1,
1969                                  "column": 1
1970                                },
1971                                "end": {
1972                                  "line": 1,
1973                                  "column": 1
1974                                }
1975                              }
1976                            },
1977                            "computed": true,
1978                            "optional": false,
1979                            "loc": {
1980                              "start": {
1981                                "line": 1,
1982                                "column": 1
1983                              },
1984                              "end": {
1985                                "line": 1,
1986                                "column": 1
1987                              }
1988                            }
1989                          },
1990                          "loc": {
1991                            "start": {
1992                              "line": 1,
1993                              "column": 1
1994                            },
1995                            "end": {
1996                              "line": 1,
1997                              "column": 1
1998                            }
1999                          }
2000                        },
2001                        "consequent": {
2002                          "type": "ReturnStatement",
2003                          "argument": {
2004                            "type": "TSAsExpression",
2005                            "expression": {
2006                              "type": "Identifier",
2007                              "name": "i",
2008                              "decorators": [],
2009                              "loc": {
2010                                "start": {
2011                                  "line": 1,
2012                                  "column": 1
2013                                },
2014                                "end": {
2015                                  "line": 1,
2016                                  "column": 1
2017                                }
2018                              }
2019                            },
2020                            "typeAnnotation": {
2021                              "type": "ETSTypeReference",
2022                              "part": {
2023                                "type": "ETSTypeReferencePart",
2024                                "name": {
2025                                  "type": "Identifier",
2026                                  "name": "TrailingCommaEnum",
2027                                  "decorators": [],
2028                                  "loc": {
2029                                    "start": {
2030                                      "line": 1,
2031                                      "column": 1
2032                                    },
2033                                    "end": {
2034                                      "line": 1,
2035                                      "column": 1
2036                                    }
2037                                  }
2038                                },
2039                                "loc": {
2040                                  "start": {
2041                                    "line": 1,
2042                                    "column": 1
2043                                  },
2044                                  "end": {
2045                                    "line": 1,
2046                                    "column": 1
2047                                  }
2048                                }
2049                              },
2050                              "loc": {
2051                                "start": {
2052                                  "line": 1,
2053                                  "column": 1
2054                                },
2055                                "end": {
2056                                  "line": 1,
2057                                  "column": 1
2058                                }
2059                              }
2060                            },
2061                            "loc": {
2062                              "start": {
2063                                "line": 1,
2064                                "column": 1
2065                              },
2066                              "end": {
2067                                "line": 1,
2068                                "column": 1
2069                              }
2070                            }
2071                          },
2072                          "loc": {
2073                            "start": {
2074                              "line": 1,
2075                              "column": 1
2076                            },
2077                            "end": {
2078                              "line": 1,
2079                              "column": 1
2080                            }
2081                          }
2082                        },
2083                        "alternate": null,
2084                        "loc": {
2085                          "start": {
2086                            "line": 1,
2087                            "column": 1
2088                          },
2089                          "end": {
2090                            "line": 1,
2091                            "column": 1
2092                          }
2093                        }
2094                      },
2095                      "loc": {
2096                        "start": {
2097                          "line": 1,
2098                          "column": 1
2099                        },
2100                        "end": {
2101                          "line": 1,
2102                          "column": 1
2103                        }
2104                      }
2105                    },
2106                    {
2107                      "type": "ThrowStatement",
2108                      "argument": {
2109                        "type": "ETSNewClassInstanceExpression",
2110                        "typeReference": {
2111                          "type": "ETSTypeReference",
2112                          "part": {
2113                            "type": "ETSTypeReferencePart",
2114                            "name": {
2115                              "type": "Identifier",
2116                              "name": "Exception",
2117                              "decorators": [],
2118                              "loc": {
2119                                "start": {
2120                                  "line": 1,
2121                                  "column": 1
2122                                },
2123                                "end": {
2124                                  "line": 1,
2125                                  "column": 1
2126                                }
2127                              }
2128                            },
2129                            "loc": {
2130                              "start": {
2131                                "line": 1,
2132                                "column": 1
2133                              },
2134                              "end": {
2135                                "line": 1,
2136                                "column": 1
2137                              }
2138                            }
2139                          },
2140                          "loc": {
2141                            "start": {
2142                              "line": 1,
2143                              "column": 1
2144                            },
2145                            "end": {
2146                              "line": 1,
2147                              "column": 1
2148                            }
2149                          }
2150                        },
2151                        "arguments": [
2152                          {
2153                            "type": "BinaryExpression",
2154                            "operator": "+",
2155                            "left": {
2156                              "type": "StringLiteral",
2157                              "value": "No enum constant TrailingCommaEnum.",
2158                              "loc": {
2159                                "start": {
2160                                  "line": 1,
2161                                  "column": 1
2162                                },
2163                                "end": {
2164                                  "line": 1,
2165                                  "column": 1
2166                                }
2167                              }
2168                            },
2169                            "right": {
2170                              "type": "Identifier",
2171                              "name": "name",
2172                              "decorators": [],
2173                              "loc": {
2174                                "start": {
2175                                  "line": 1,
2176                                  "column": 1
2177                                },
2178                                "end": {
2179                                  "line": 1,
2180                                  "column": 1
2181                                }
2182                              }
2183                            },
2184                            "loc": {
2185                              "start": {
2186                                "line": 1,
2187                                "column": 1
2188                              },
2189                              "end": {
2190                                "line": 1,
2191                                "column": 1
2192                              }
2193                            }
2194                          }
2195                        ],
2196                        "loc": {
2197                          "start": {
2198                            "line": 1,
2199                            "column": 1
2200                          },
2201                          "end": {
2202                            "line": 1,
2203                            "column": 1
2204                          }
2205                        }
2206                      },
2207                      "loc": {
2208                        "start": {
2209                          "line": 1,
2210                          "column": 1
2211                        },
2212                        "end": {
2213                          "line": 1,
2214                          "column": 1
2215                        }
2216                      }
2217                    }
2218                  ],
2219                  "loc": {
2220                    "start": {
2221                      "line": 1,
2222                      "column": 1
2223                    },
2224                    "end": {
2225                      "line": 1,
2226                      "column": 1
2227                    }
2228                  }
2229                }
2230                "throwMarker": "throws",
2231                "loc": {
2232                  "start": {
2233                    "line": 1,
2234                    "column": 1
2235                  },
2236                  "end": {
2237                    "line": 1,
2238                    "column": 1
2239                  }
2240                }
2241              },
2242              "loc": {
2243                "start": {
2244                  "line": 1,
2245                  "column": 1
2246                },
2247                "end": {
2248                  "line": 1,
2249                  "column": 1
2250                }
2251              }
2252            },
2253            "overloads": [],
2254            "decorators": [],
2255            "loc": {
2256              "start": {
2257                "line": 1,
2258                "column": 1
2259              },
2260              "end": {
2261                "line": 1,
2262                "column": 1
2263              }
2264            }
2265          },
2266          {
2267            "type": "MethodDefinition",
2268            "key": {
2269              "type": "Identifier",
2270              "name": "valueOf",
2271              "decorators": [],
2272              "loc": {
2273                "start": {
2274                  "line": 1,
2275                  "column": 1
2276                },
2277                "end": {
2278                  "line": 1,
2279                  "column": 1
2280                }
2281              }
2282            },
2283            "kind": "method",
2284            "accessibility": "public",
2285            "static": true,
2286            "optional": false,
2287            "computed": false,
2288            "value": {
2289              "type": "FunctionExpression",
2290              "function": {
2291                "type": "ScriptFunction",
2292                "id": {
2293                  "type": "Identifier",
2294                  "name": "valueOf",
2295                  "decorators": [],
2296                  "loc": {
2297                    "start": {
2298                      "line": 1,
2299                      "column": 1
2300                    },
2301                    "end": {
2302                      "line": 1,
2303                      "column": 1
2304                    }
2305                  }
2306                },
2307                "generator": false,
2308                "async": false,
2309                "expression": false,
2310                "params": [
2311                  {
2312                    "type": "ETSParameterExpression",
2313                    "name": {
2314                      "type": "Identifier",
2315                      "name": "e",
2316                      "typeAnnotation": {
2317                        "type": "ETSTypeReference",
2318                        "part": {
2319                          "type": "ETSTypeReferencePart",
2320                          "name": {
2321                            "type": "Identifier",
2322                            "name": "TrailingCommaEnum",
2323                            "decorators": [],
2324                            "loc": {
2325                              "start": {
2326                                "line": 1,
2327                                "column": 1
2328                              },
2329                              "end": {
2330                                "line": 1,
2331                                "column": 1
2332                              }
2333                            }
2334                          },
2335                          "loc": {
2336                            "start": {
2337                              "line": 1,
2338                              "column": 1
2339                            },
2340                            "end": {
2341                              "line": 1,
2342                              "column": 1
2343                            }
2344                          }
2345                        },
2346                        "loc": {
2347                          "start": {
2348                            "line": 1,
2349                            "column": 1
2350                          },
2351                          "end": {
2352                            "line": 1,
2353                            "column": 1
2354                          }
2355                        }
2356                      },
2357                      "decorators": [],
2358                      "loc": {
2359                        "start": {
2360                          "line": 1,
2361                          "column": 1
2362                        },
2363                        "end": {
2364                          "line": 1,
2365                          "column": 1
2366                        }
2367                      }
2368                    },
2369                    "loc": {
2370                      "start": {
2371                        "line": 1,
2372                        "column": 1
2373                      },
2374                      "end": {
2375                        "line": 1,
2376                        "column": 1
2377                      }
2378                    }
2379                  }
2380                ],
2381                "returnType": {
2382                  "type": "ETSPrimitiveType",
2383                  "loc": {
2384                    "start": {
2385                      "line": 1,
2386                      "column": 1
2387                    },
2388                    "end": {
2389                      "line": 1,
2390                      "column": 1
2391                    }
2392                  }
2393                },
2394                "body": {
2395                  "type": "BlockStatement",
2396                  "statements": [
2397                    {
2398                      "type": "ReturnStatement",
2399                      "argument": {
2400                        "type": "MemberExpression",
2401                        "object": {
2402                          "type": "Identifier",
2403                          "name": "ValuesArray",
2404                          "decorators": [],
2405                          "loc": {
2406                            "start": {
2407                              "line": 1,
2408                              "column": 1
2409                            },
2410                            "end": {
2411                              "line": 1,
2412                              "column": 1
2413                            }
2414                          }
2415                        },
2416                        "property": {
2417                          "type": "TSAsExpression",
2418                          "expression": {
2419                            "type": "Identifier",
2420                            "name": "e",
2421                            "decorators": [],
2422                            "loc": {
2423                              "start": {
2424                                "line": 1,
2425                                "column": 1
2426                              },
2427                              "end": {
2428                                "line": 1,
2429                                "column": 1
2430                              }
2431                            }
2432                          },
2433                          "typeAnnotation": {
2434                            "type": "ETSPrimitiveType",
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                        "computed": true,
2458                        "optional": false,
2459                        "loc": {
2460                          "start": {
2461                            "line": 1,
2462                            "column": 1
2463                          },
2464                          "end": {
2465                            "line": 1,
2466                            "column": 1
2467                          }
2468                        }
2469                      },
2470                      "loc": {
2471                        "start": {
2472                          "line": 1,
2473                          "column": 1
2474                        },
2475                        "end": {
2476                          "line": 1,
2477                          "column": 1
2478                        }
2479                      }
2480                    }
2481                  ],
2482                  "loc": {
2483                    "start": {
2484                      "line": 1,
2485                      "column": 1
2486                    },
2487                    "end": {
2488                      "line": 1,
2489                      "column": 1
2490                    }
2491                  }
2492                },
2493                "loc": {
2494                  "start": {
2495                    "line": 1,
2496                    "column": 1
2497                  },
2498                  "end": {
2499                    "line": 1,
2500                    "column": 1
2501                  }
2502                }
2503              },
2504              "loc": {
2505                "start": {
2506                  "line": 1,
2507                  "column": 1
2508                },
2509                "end": {
2510                  "line": 1,
2511                  "column": 1
2512                }
2513              }
2514            },
2515            "overloads": [],
2516            "decorators": [],
2517            "loc": {
2518              "start": {
2519                "line": 1,
2520                "column": 1
2521              },
2522              "end": {
2523                "line": 1,
2524                "column": 1
2525              }
2526            }
2527          },
2528          {
2529            "type": "MethodDefinition",
2530            "key": {
2531              "type": "Identifier",
2532              "name": "toString",
2533              "decorators": [],
2534              "loc": {
2535                "start": {
2536                  "line": 1,
2537                  "column": 1
2538                },
2539                "end": {
2540                  "line": 1,
2541                  "column": 1
2542                }
2543              }
2544            },
2545            "kind": "method",
2546            "accessibility": "public",
2547            "static": true,
2548            "optional": false,
2549            "computed": false,
2550            "value": {
2551              "type": "FunctionExpression",
2552              "function": {
2553                "type": "ScriptFunction",
2554                "id": {
2555                  "type": "Identifier",
2556                  "name": "toString",
2557                  "decorators": [],
2558                  "loc": {
2559                    "start": {
2560                      "line": 1,
2561                      "column": 1
2562                    },
2563                    "end": {
2564                      "line": 1,
2565                      "column": 1
2566                    }
2567                  }
2568                },
2569                "generator": false,
2570                "async": false,
2571                "expression": false,
2572                "params": [
2573                  {
2574                    "type": "ETSParameterExpression",
2575                    "name": {
2576                      "type": "Identifier",
2577                      "name": "ordinal",
2578                      "typeAnnotation": {
2579                        "type": "ETSTypeReference",
2580                        "part": {
2581                          "type": "ETSTypeReferencePart",
2582                          "name": {
2583                            "type": "Identifier",
2584                            "name": "TrailingCommaEnum",
2585                            "decorators": [],
2586                            "loc": {
2587                              "start": {
2588                                "line": 1,
2589                                "column": 1
2590                              },
2591                              "end": {
2592                                "line": 1,
2593                                "column": 1
2594                              }
2595                            }
2596                          },
2597                          "loc": {
2598                            "start": {
2599                              "line": 1,
2600                              "column": 1
2601                            },
2602                            "end": {
2603                              "line": 1,
2604                              "column": 1
2605                            }
2606                          }
2607                        },
2608                        "loc": {
2609                          "start": {
2610                            "line": 1,
2611                            "column": 1
2612                          },
2613                          "end": {
2614                            "line": 1,
2615                            "column": 1
2616                          }
2617                        }
2618                      },
2619                      "decorators": [],
2620                      "loc": {
2621                        "start": {
2622                          "line": 1,
2623                          "column": 1
2624                        },
2625                        "end": {
2626                          "line": 1,
2627                          "column": 1
2628                        }
2629                      }
2630                    },
2631                    "loc": {
2632                      "start": {
2633                        "line": 1,
2634                        "column": 1
2635                      },
2636                      "end": {
2637                        "line": 1,
2638                        "column": 1
2639                      }
2640                    }
2641                  }
2642                ],
2643                "returnType": {
2644                  "type": "ETSTypeReference",
2645                  "part": {
2646                    "type": "ETSTypeReferencePart",
2647                    "name": {
2648                      "type": "Identifier",
2649                      "name": "String",
2650                      "decorators": [],
2651                      "loc": {
2652                        "start": {
2653                          "line": 1,
2654                          "column": 1
2655                        },
2656                        "end": {
2657                          "line": 1,
2658                          "column": 1
2659                        }
2660                      }
2661                    },
2662                    "loc": {
2663                      "start": {
2664                        "line": 1,
2665                        "column": 1
2666                      },
2667                      "end": {
2668                        "line": 1,
2669                        "column": 1
2670                      }
2671                    }
2672                  },
2673                  "loc": {
2674                    "start": {
2675                      "line": 1,
2676                      "column": 1
2677                    },
2678                    "end": {
2679                      "line": 1,
2680                      "column": 1
2681                    }
2682                  }
2683                },
2684                "body": {
2685                  "type": "BlockStatement",
2686                  "statements": [
2687                    {
2688                      "type": "ReturnStatement",
2689                      "argument": {
2690                        "type": "MemberExpression",
2691                        "object": {
2692                          "type": "Identifier",
2693                          "name": "StringValuesArray",
2694                          "decorators": [],
2695                          "loc": {
2696                            "start": {
2697                              "line": 1,
2698                              "column": 1
2699                            },
2700                            "end": {
2701                              "line": 1,
2702                              "column": 1
2703                            }
2704                          }
2705                        },
2706                        "property": {
2707                          "type": "TSAsExpression",
2708                          "expression": {
2709                            "type": "Identifier",
2710                            "name": "ordinal",
2711                            "decorators": [],
2712                            "loc": {
2713                              "start": {
2714                                "line": 1,
2715                                "column": 1
2716                              },
2717                              "end": {
2718                                "line": 1,
2719                                "column": 1
2720                              }
2721                            }
2722                          },
2723                          "typeAnnotation": {
2724                            "type": "ETSPrimitiveType",
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                        "computed": true,
2748                        "optional": false,
2749                        "loc": {
2750                          "start": {
2751                            "line": 1,
2752                            "column": 1
2753                          },
2754                          "end": {
2755                            "line": 1,
2756                            "column": 1
2757                          }
2758                        }
2759                      },
2760                      "loc": {
2761                        "start": {
2762                          "line": 1,
2763                          "column": 1
2764                        },
2765                        "end": {
2766                          "line": 1,
2767                          "column": 1
2768                        }
2769                      }
2770                    }
2771                  ],
2772                  "loc": {
2773                    "start": {
2774                      "line": 1,
2775                      "column": 1
2776                    },
2777                    "end": {
2778                      "line": 1,
2779                      "column": 1
2780                    }
2781                  }
2782                },
2783                "loc": {
2784                  "start": {
2785                    "line": 1,
2786                    "column": 1
2787                  },
2788                  "end": {
2789                    "line": 1,
2790                    "column": 1
2791                  }
2792                }
2793              },
2794              "loc": {
2795                "start": {
2796                  "line": 1,
2797                  "column": 1
2798                },
2799                "end": {
2800                  "line": 1,
2801                  "column": 1
2802                }
2803              }
2804            },
2805            "overloads": [],
2806            "decorators": [],
2807            "loc": {
2808              "start": {
2809                "line": 1,
2810                "column": 1
2811              },
2812              "end": {
2813                "line": 1,
2814                "column": 1
2815              }
2816            }
2817          },
2818          {
2819            "type": "MethodDefinition",
2820            "key": {
2821              "type": "Identifier",
2822              "name": "values",
2823              "decorators": [],
2824              "loc": {
2825                "start": {
2826                  "line": 1,
2827                  "column": 1
2828                },
2829                "end": {
2830                  "line": 1,
2831                  "column": 1
2832                }
2833              }
2834            },
2835            "kind": "method",
2836            "accessibility": "public",
2837            "static": true,
2838            "optional": false,
2839            "computed": false,
2840            "value": {
2841              "type": "FunctionExpression",
2842              "function": {
2843                "type": "ScriptFunction",
2844                "id": {
2845                  "type": "Identifier",
2846                  "name": "values",
2847                  "decorators": [],
2848                  "loc": {
2849                    "start": {
2850                      "line": 1,
2851                      "column": 1
2852                    },
2853                    "end": {
2854                      "line": 1,
2855                      "column": 1
2856                    }
2857                  }
2858                },
2859                "generator": false,
2860                "async": false,
2861                "expression": false,
2862                "params": [],
2863                "returnType": {
2864                  "type": "TSArrayType",
2865                  "elementType": {
2866                    "type": "ETSTypeReference",
2867                    "part": {
2868                      "type": "ETSTypeReferencePart",
2869                      "name": {
2870                        "type": "Identifier",
2871                        "name": "TrailingCommaEnum",
2872                        "decorators": [],
2873                        "loc": {
2874                          "start": {
2875                            "line": 1,
2876                            "column": 1
2877                          },
2878                          "end": {
2879                            "line": 1,
2880                            "column": 1
2881                          }
2882                        }
2883                      },
2884                      "loc": {
2885                        "start": {
2886                          "line": 1,
2887                          "column": 1
2888                        },
2889                        "end": {
2890                          "line": 1,
2891                          "column": 1
2892                        }
2893                      }
2894                    },
2895                    "loc": {
2896                      "start": {
2897                        "line": 1,
2898                        "column": 1
2899                      },
2900                      "end": {
2901                        "line": 1,
2902                        "column": 1
2903                      }
2904                    }
2905                  },
2906                  "loc": {
2907                    "start": {
2908                      "line": 1,
2909                      "column": 1
2910                    },
2911                    "end": {
2912                      "line": 1,
2913                      "column": 1
2914                    }
2915                  }
2916                },
2917                "body": {
2918                  "type": "BlockStatement",
2919                  "statements": [
2920                    {
2921                      "type": "ReturnStatement",
2922                      "argument": {
2923                        "type": "Identifier",
2924                        "name": "ItemsArray",
2925                        "decorators": [],
2926                        "loc": {
2927                          "start": {
2928                            "line": 1,
2929                            "column": 1
2930                          },
2931                          "end": {
2932                            "line": 1,
2933                            "column": 1
2934                          }
2935                        }
2936                      },
2937                      "loc": {
2938                        "start": {
2939                          "line": 1,
2940                          "column": 1
2941                        },
2942                        "end": {
2943                          "line": 1,
2944                          "column": 1
2945                        }
2946                      }
2947                    }
2948                  ],
2949                  "loc": {
2950                    "start": {
2951                      "line": 1,
2952                      "column": 1
2953                    },
2954                    "end": {
2955                      "line": 1,
2956                      "column": 1
2957                    }
2958                  }
2959                },
2960                "loc": {
2961                  "start": {
2962                    "line": 1,
2963                    "column": 1
2964                  },
2965                  "end": {
2966                    "line": 1,
2967                    "column": 1
2968                  }
2969                }
2970              },
2971              "loc": {
2972                "start": {
2973                  "line": 1,
2974                  "column": 1
2975                },
2976                "end": {
2977                  "line": 1,
2978                  "column": 1
2979                }
2980              }
2981            },
2982            "overloads": [],
2983            "decorators": [],
2984            "loc": {
2985              "start": {
2986                "line": 1,
2987                "column": 1
2988              },
2989              "end": {
2990                "line": 1,
2991                "column": 1
2992              }
2993            }
2994          },
2995          {
2996            "type": "MethodDefinition",
2997            "key": {
2998              "type": "Identifier",
2999              "name": "fromInt",
3000              "decorators": [],
3001              "loc": {
3002                "start": {
3003                  "line": 1,
3004                  "column": 1
3005                },
3006                "end": {
3007                  "line": 1,
3008                  "column": 1
3009                }
3010              }
3011            },
3012            "kind": "method",
3013            "accessibility": "public",
3014            "static": true,
3015            "optional": false,
3016            "computed": false,
3017            "value": {
3018              "type": "FunctionExpression",
3019              "function": {
3020                "type": "ScriptFunction",
3021                "id": {
3022                  "type": "Identifier",
3023                  "name": "fromInt",
3024                  "decorators": [],
3025                  "loc": {
3026                    "start": {
3027                      "line": 1,
3028                      "column": 1
3029                    },
3030                    "end": {
3031                      "line": 1,
3032                      "column": 1
3033                    }
3034                  }
3035                },
3036                "generator": false,
3037                "async": false,
3038                "expression": false,
3039                "params": [
3040                  {
3041                    "type": "ETSParameterExpression",
3042                    "name": {
3043                      "type": "Identifier",
3044                      "name": "ordinal",
3045                      "typeAnnotation": {
3046                        "type": "ETSPrimitiveType",
3047                        "loc": {
3048                          "start": {
3049                            "line": 1,
3050                            "column": 1
3051                          },
3052                          "end": {
3053                            "line": 1,
3054                            "column": 1
3055                          }
3056                        }
3057                      },
3058                      "decorators": [],
3059                      "loc": {
3060                        "start": {
3061                          "line": 1,
3062                          "column": 1
3063                        },
3064                        "end": {
3065                          "line": 1,
3066                          "column": 1
3067                        }
3068                      }
3069                    },
3070                    "loc": {
3071                      "start": {
3072                        "line": 1,
3073                        "column": 1
3074                      },
3075                      "end": {
3076                        "line": 1,
3077                        "column": 1
3078                      }
3079                    }
3080                  }
3081                ],
3082                "returnType": {
3083                  "type": "ETSTypeReference",
3084                  "part": {
3085                    "type": "ETSTypeReferencePart",
3086                    "name": {
3087                      "type": "Identifier",
3088                      "name": "TrailingCommaEnum",
3089                      "decorators": [],
3090                      "loc": {
3091                        "start": {
3092                          "line": 1,
3093                          "column": 1
3094                        },
3095                        "end": {
3096                          "line": 1,
3097                          "column": 1
3098                        }
3099                      }
3100                    },
3101                    "loc": {
3102                      "start": {
3103                        "line": 1,
3104                        "column": 1
3105                      },
3106                      "end": {
3107                        "line": 1,
3108                        "column": 1
3109                      }
3110                    }
3111                  },
3112                  "loc": {
3113                    "start": {
3114                      "line": 1,
3115                      "column": 1
3116                    },
3117                    "end": {
3118                      "line": 1,
3119                      "column": 1
3120                    }
3121                  }
3122                },
3123                "body": {
3124                  "type": "BlockStatement",
3125                  "statements": [
3126                    {
3127                      "type": "IfStatement",
3128                      "test": {
3129                        "type": "BinaryExpression",
3130                        "operator": "<",
3131                        "left": {
3132                          "type": "Identifier",
3133                          "name": "ordinal",
3134                          "decorators": [],
3135                          "loc": {
3136                            "start": {
3137                              "line": 1,
3138                              "column": 1
3139                            },
3140                            "end": {
3141                              "line": 1,
3142                              "column": 1
3143                            }
3144                          }
3145                        },
3146                        "right": {
3147                          "type": "MemberExpression",
3148                          "object": {
3149                            "type": "Identifier",
3150                            "name": "ItemsArray",
3151                            "decorators": [],
3152                            "loc": {
3153                              "start": {
3154                                "line": 1,
3155                                "column": 1
3156                              },
3157                              "end": {
3158                                "line": 1,
3159                                "column": 1
3160                              }
3161                            }
3162                          },
3163                          "property": {
3164                            "type": "Identifier",
3165                            "name": "length",
3166                            "decorators": [],
3167                            "loc": {
3168                              "start": {
3169                                "line": 1,
3170                                "column": 1
3171                              },
3172                              "end": {
3173                                "line": 1,
3174                                "column": 1
3175                              }
3176                            }
3177                          },
3178                          "computed": false,
3179                          "optional": false,
3180                          "loc": {
3181                            "start": {
3182                              "line": 1,
3183                              "column": 1
3184                            },
3185                            "end": {
3186                              "line": 1,
3187                              "column": 1
3188                            }
3189                          }
3190                        },
3191                        "loc": {
3192                          "start": {
3193                            "line": 1,
3194                            "column": 1
3195                          },
3196                          "end": {
3197                            "line": 1,
3198                            "column": 1
3199                          }
3200                        }
3201                      },
3202                      "consequent": {
3203                        "type": "ReturnStatement",
3204                        "argument": {
3205                          "type": "MemberExpression",
3206                          "object": {
3207                            "type": "Identifier",
3208                            "name": "ItemsArray",
3209                            "decorators": [],
3210                            "loc": {
3211                              "start": {
3212                                "line": 1,
3213                                "column": 1
3214                              },
3215                              "end": {
3216                                "line": 1,
3217                                "column": 1
3218                              }
3219                            }
3220                          },
3221                          "property": {
3222                            "type": "Identifier",
3223                            "name": "ordinal",
3224                            "decorators": [],
3225                            "loc": {
3226                              "start": {
3227                                "line": 1,
3228                                "column": 1
3229                              },
3230                              "end": {
3231                                "line": 1,
3232                                "column": 1
3233                              }
3234                            }
3235                          },
3236                          "computed": true,
3237                          "optional": false,
3238                          "loc": {
3239                            "start": {
3240                              "line": 1,
3241                              "column": 1
3242                            },
3243                            "end": {
3244                              "line": 1,
3245                              "column": 1
3246                            }
3247                          }
3248                        },
3249                        "loc": {
3250                          "start": {
3251                            "line": 1,
3252                            "column": 1
3253                          },
3254                          "end": {
3255                            "line": 1,
3256                            "column": 1
3257                          }
3258                        }
3259                      },
3260                      "alternate": null,
3261                      "loc": {
3262                        "start": {
3263                          "line": 1,
3264                          "column": 1
3265                        },
3266                        "end": {
3267                          "line": 1,
3268                          "column": 1
3269                        }
3270                      }
3271                    },
3272                    {
3273                      "type": "ThrowStatement",
3274                      "argument": {
3275                        "type": "ETSNewClassInstanceExpression",
3276                        "typeReference": {
3277                          "type": "ETSTypeReference",
3278                          "part": {
3279                            "type": "ETSTypeReferencePart",
3280                            "name": {
3281                              "type": "Identifier",
3282                              "name": "Exception",
3283                              "decorators": [],
3284                              "loc": {
3285                                "start": {
3286                                  "line": 1,
3287                                  "column": 1
3288                                },
3289                                "end": {
3290                                  "line": 1,
3291                                  "column": 1
3292                                }
3293                              }
3294                            },
3295                            "loc": {
3296                              "start": {
3297                                "line": 1,
3298                                "column": 1
3299                              },
3300                              "end": {
3301                                "line": 1,
3302                                "column": 1
3303                              }
3304                            }
3305                          },
3306                          "loc": {
3307                            "start": {
3308                              "line": 1,
3309                              "column": 1
3310                            },
3311                            "end": {
3312                              "line": 1,
3313                              "column": 1
3314                            }
3315                          }
3316                        },
3317                        "arguments": [
3318                          {
3319                            "type": "BinaryExpression",
3320                            "operator": "+",
3321                            "left": {
3322                              "type": "StringLiteral",
3323                              "value": "No enum constant in TrailingCommaEnum with ordinal value ",
3324                              "loc": {
3325                                "start": {
3326                                  "line": 1,
3327                                  "column": 1
3328                                },
3329                                "end": {
3330                                  "line": 1,
3331                                  "column": 1
3332                                }
3333                              }
3334                            },
3335                            "right": {
3336                              "type": "Identifier",
3337                              "name": "ordinal",
3338                              "decorators": [],
3339                              "loc": {
3340                                "start": {
3341                                  "line": 1,
3342                                  "column": 1
3343                                },
3344                                "end": {
3345                                  "line": 1,
3346                                  "column": 1
3347                                }
3348                              }
3349                            },
3350                            "loc": {
3351                              "start": {
3352                                "line": 1,
3353                                "column": 1
3354                              },
3355                              "end": {
3356                                "line": 1,
3357                                "column": 1
3358                              }
3359                            }
3360                          }
3361                        ],
3362                        "loc": {
3363                          "start": {
3364                            "line": 1,
3365                            "column": 1
3366                          },
3367                          "end": {
3368                            "line": 1,
3369                            "column": 1
3370                          }
3371                        }
3372                      },
3373                      "loc": {
3374                        "start": {
3375                          "line": 1,
3376                          "column": 1
3377                        },
3378                        "end": {
3379                          "line": 1,
3380                          "column": 1
3381                        }
3382                      }
3383                    }
3384                  ],
3385                  "loc": {
3386                    "start": {
3387                      "line": 1,
3388                      "column": 1
3389                    },
3390                    "end": {
3391                      "line": 1,
3392                      "column": 1
3393                    }
3394                  }
3395                }
3396                "throwMarker": "throws",
3397                "loc": {
3398                  "start": {
3399                    "line": 1,
3400                    "column": 1
3401                  },
3402                  "end": {
3403                    "line": 1,
3404                    "column": 1
3405                  }
3406                }
3407              },
3408              "loc": {
3409                "start": {
3410                  "line": 1,
3411                  "column": 1
3412                },
3413                "end": {
3414                  "line": 1,
3415                  "column": 1
3416                }
3417              }
3418            },
3419            "overloads": [],
3420            "decorators": [],
3421            "loc": {
3422              "start": {
3423                "line": 1,
3424                "column": 1
3425              },
3426              "end": {
3427                "line": 1,
3428                "column": 1
3429              }
3430            }
3431          },
3432          {
3433            "type": "MethodDefinition",
3434            "key": {
3435              "type": "Identifier",
3436              "name": "unbox",
3437              "decorators": [],
3438              "loc": {
3439                "start": {
3440                  "line": 1,
3441                  "column": 1
3442                },
3443                "end": {
3444                  "line": 1,
3445                  "column": 1
3446                }
3447              }
3448            },
3449            "kind": "method",
3450            "accessibility": "public",
3451            "static": false,
3452            "optional": false,
3453            "computed": false,
3454            "value": {
3455              "type": "FunctionExpression",
3456              "function": {
3457                "type": "ScriptFunction",
3458                "id": {
3459                  "type": "Identifier",
3460                  "name": "unbox",
3461                  "decorators": [],
3462                  "loc": {
3463                    "start": {
3464                      "line": 1,
3465                      "column": 1
3466                    },
3467                    "end": {
3468                      "line": 1,
3469                      "column": 1
3470                    }
3471                  }
3472                },
3473                "generator": false,
3474                "async": false,
3475                "expression": false,
3476                "params": [],
3477                "returnType": {
3478                  "type": "ETSTypeReference",
3479                  "part": {
3480                    "type": "ETSTypeReferencePart",
3481                    "name": {
3482                      "type": "Identifier",
3483                      "name": "TrailingCommaEnum",
3484                      "decorators": [],
3485                      "loc": {
3486                        "start": {
3487                          "line": 1,
3488                          "column": 1
3489                        },
3490                        "end": {
3491                          "line": 1,
3492                          "column": 1
3493                        }
3494                      }
3495                    },
3496                    "loc": {
3497                      "start": {
3498                        "line": 1,
3499                        "column": 1
3500                      },
3501                      "end": {
3502                        "line": 1,
3503                        "column": 1
3504                      }
3505                    }
3506                  },
3507                  "loc": {
3508                    "start": {
3509                      "line": 1,
3510                      "column": 1
3511                    },
3512                    "end": {
3513                      "line": 1,
3514                      "column": 1
3515                    }
3516                  }
3517                },
3518                "body": {
3519                  "type": "BlockStatement",
3520                  "statements": [
3521                    {
3522                      "type": "ReturnStatement",
3523                      "argument": {
3524                        "type": "MemberExpression",
3525                        "object": {
3526                          "type": "Identifier",
3527                          "name": "ItemsArray",
3528                          "decorators": [],
3529                          "loc": {
3530                            "start": {
3531                              "line": 1,
3532                              "column": 1
3533                            },
3534                            "end": {
3535                              "line": 1,
3536                              "column": 1
3537                            }
3538                          }
3539                        },
3540                        "property": {
3541                          "type": "MemberExpression",
3542                          "object": {
3543                            "type": "ThisExpression",
3544                            "loc": {
3545                              "start": {
3546                                "line": 1,
3547                                "column": 1
3548                              },
3549                              "end": {
3550                                "line": 1,
3551                                "column": 1
3552                              }
3553                            }
3554                          },
3555                          "property": {
3556                            "type": "Identifier",
3557                            "name": "ordinal",
3558                            "decorators": [],
3559                            "loc": {
3560                              "start": {
3561                                "line": 1,
3562                                "column": 1
3563                              },
3564                              "end": {
3565                                "line": 1,
3566                                "column": 1
3567                              }
3568                            }
3569                          },
3570                          "computed": false,
3571                          "optional": false,
3572                          "loc": {
3573                            "start": {
3574                              "line": 1,
3575                              "column": 1
3576                            },
3577                            "end": {
3578                              "line": 1,
3579                              "column": 1
3580                            }
3581                          }
3582                        },
3583                        "computed": true,
3584                        "optional": false,
3585                        "loc": {
3586                          "start": {
3587                            "line": 1,
3588                            "column": 1
3589                          },
3590                          "end": {
3591                            "line": 1,
3592                            "column": 1
3593                          }
3594                        }
3595                      },
3596                      "loc": {
3597                        "start": {
3598                          "line": 1,
3599                          "column": 1
3600                        },
3601                        "end": {
3602                          "line": 1,
3603                          "column": 1
3604                        }
3605                      }
3606                    }
3607                  ],
3608                  "loc": {
3609                    "start": {
3610                      "line": 1,
3611                      "column": 1
3612                    },
3613                    "end": {
3614                      "line": 1,
3615                      "column": 1
3616                    }
3617                  }
3618                },
3619                "loc": {
3620                  "start": {
3621                    "line": 1,
3622                    "column": 1
3623                  },
3624                  "end": {
3625                    "line": 1,
3626                    "column": 1
3627                  }
3628                }
3629              },
3630              "loc": {
3631                "start": {
3632                  "line": 1,
3633                  "column": 1
3634                },
3635                "end": {
3636                  "line": 1,
3637                  "column": 1
3638                }
3639              }
3640            },
3641            "overloads": [],
3642            "decorators": [],
3643            "loc": {
3644              "start": {
3645                "line": 1,
3646                "column": 1
3647              },
3648              "end": {
3649                "line": 1,
3650                "column": 1
3651              }
3652            }
3653          },
3654          {
3655            "type": "MethodDefinition",
3656            "key": {
3657              "type": "Identifier",
3658              "name": "boxedfromInt",
3659              "decorators": [],
3660              "loc": {
3661                "start": {
3662                  "line": 1,
3663                  "column": 1
3664                },
3665                "end": {
3666                  "line": 1,
3667                  "column": 1
3668                }
3669              }
3670            },
3671            "kind": "method",
3672            "accessibility": "public",
3673            "static": true,
3674            "optional": false,
3675            "computed": false,
3676            "value": {
3677              "type": "FunctionExpression",
3678              "function": {
3679                "type": "ScriptFunction",
3680                "id": {
3681                  "type": "Identifier",
3682                  "name": "boxedfromInt",
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                "generator": false,
3696                "async": false,
3697                "expression": false,
3698                "params": [
3699                  {
3700                    "type": "ETSParameterExpression",
3701                    "name": {
3702                      "type": "Identifier",
3703                      "name": "ordinal",
3704                      "typeAnnotation": {
3705                        "type": "ETSPrimitiveType",
3706                        "loc": {
3707                          "start": {
3708                            "line": 1,
3709                            "column": 1
3710                          },
3711                          "end": {
3712                            "line": 1,
3713                            "column": 1
3714                          }
3715                        }
3716                      },
3717                      "decorators": [],
3718                      "loc": {
3719                        "start": {
3720                          "line": 1,
3721                          "column": 1
3722                        },
3723                        "end": {
3724                          "line": 1,
3725                          "column": 1
3726                        }
3727                      }
3728                    },
3729                    "loc": {
3730                      "start": {
3731                        "line": 1,
3732                        "column": 1
3733                      },
3734                      "end": {
3735                        "line": 1,
3736                        "column": 1
3737                      }
3738                    }
3739                  }
3740                ],
3741                "returnType": {
3742                  "type": "ETSTypeReference",
3743                  "part": {
3744                    "type": "ETSTypeReferencePart",
3745                    "name": {
3746                      "type": "Identifier",
3747                      "name": "#TrailingCommaEnum",
3748                      "decorators": [],
3749                      "loc": {
3750                        "start": {
3751                          "line": 1,
3752                          "column": 1
3753                        },
3754                        "end": {
3755                          "line": 1,
3756                          "column": 1
3757                        }
3758                      }
3759                    },
3760                    "loc": {
3761                      "start": {
3762                        "line": 1,
3763                        "column": 1
3764                      },
3765                      "end": {
3766                        "line": 1,
3767                        "column": 1
3768                      }
3769                    }
3770                  },
3771                  "loc": {
3772                    "start": {
3773                      "line": 1,
3774                      "column": 1
3775                    },
3776                    "end": {
3777                      "line": 1,
3778                      "column": 1
3779                    }
3780                  }
3781                },
3782                "body": {
3783                  "type": "BlockStatement",
3784                  "statements": [
3785                    {
3786                      "type": "IfStatement",
3787                      "test": {
3788                        "type": "BinaryExpression",
3789                        "operator": "<",
3790                        "left": {
3791                          "type": "Identifier",
3792                          "name": "ordinal",
3793                          "decorators": [],
3794                          "loc": {
3795                            "start": {
3796                              "line": 1,
3797                              "column": 1
3798                            },
3799                            "end": {
3800                              "line": 1,
3801                              "column": 1
3802                            }
3803                          }
3804                        },
3805                        "right": {
3806                          "type": "MemberExpression",
3807                          "object": {
3808                            "type": "Identifier",
3809                            "name": "BoxedItemsArray",
3810                            "decorators": [],
3811                            "loc": {
3812                              "start": {
3813                                "line": 1,
3814                                "column": 1
3815                              },
3816                              "end": {
3817                                "line": 1,
3818                                "column": 1
3819                              }
3820                            }
3821                          },
3822                          "property": {
3823                            "type": "Identifier",
3824                            "name": "length",
3825                            "decorators": [],
3826                            "loc": {
3827                              "start": {
3828                                "line": 1,
3829                                "column": 1
3830                              },
3831                              "end": {
3832                                "line": 1,
3833                                "column": 1
3834                              }
3835                            }
3836                          },
3837                          "computed": false,
3838                          "optional": false,
3839                          "loc": {
3840                            "start": {
3841                              "line": 1,
3842                              "column": 1
3843                            },
3844                            "end": {
3845                              "line": 1,
3846                              "column": 1
3847                            }
3848                          }
3849                        },
3850                        "loc": {
3851                          "start": {
3852                            "line": 1,
3853                            "column": 1
3854                          },
3855                          "end": {
3856                            "line": 1,
3857                            "column": 1
3858                          }
3859                        }
3860                      },
3861                      "consequent": {
3862                        "type": "ReturnStatement",
3863                        "argument": {
3864                          "type": "MemberExpression",
3865                          "object": {
3866                            "type": "Identifier",
3867                            "name": "BoxedItemsArray",
3868                            "decorators": [],
3869                            "loc": {
3870                              "start": {
3871                                "line": 1,
3872                                "column": 1
3873                              },
3874                              "end": {
3875                                "line": 1,
3876                                "column": 1
3877                              }
3878                            }
3879                          },
3880                          "property": {
3881                            "type": "Identifier",
3882                            "name": "ordinal",
3883                            "decorators": [],
3884                            "loc": {
3885                              "start": {
3886                                "line": 1,
3887                                "column": 1
3888                              },
3889                              "end": {
3890                                "line": 1,
3891                                "column": 1
3892                              }
3893                            }
3894                          },
3895                          "computed": true,
3896                          "optional": false,
3897                          "loc": {
3898                            "start": {
3899                              "line": 1,
3900                              "column": 1
3901                            },
3902                            "end": {
3903                              "line": 1,
3904                              "column": 1
3905                            }
3906                          }
3907                        },
3908                        "loc": {
3909                          "start": {
3910                            "line": 1,
3911                            "column": 1
3912                          },
3913                          "end": {
3914                            "line": 1,
3915                            "column": 1
3916                          }
3917                        }
3918                      },
3919                      "alternate": null,
3920                      "loc": {
3921                        "start": {
3922                          "line": 1,
3923                          "column": 1
3924                        },
3925                        "end": {
3926                          "line": 1,
3927                          "column": 1
3928                        }
3929                      }
3930                    },
3931                    {
3932                      "type": "ThrowStatement",
3933                      "argument": {
3934                        "type": "ETSNewClassInstanceExpression",
3935                        "typeReference": {
3936                          "type": "ETSTypeReference",
3937                          "part": {
3938                            "type": "ETSTypeReferencePart",
3939                            "name": {
3940                              "type": "Identifier",
3941                              "name": "Exception",
3942                              "decorators": [],
3943                              "loc": {
3944                                "start": {
3945                                  "line": 1,
3946                                  "column": 1
3947                                },
3948                                "end": {
3949                                  "line": 1,
3950                                  "column": 1
3951                                }
3952                              }
3953                            },
3954                            "loc": {
3955                              "start": {
3956                                "line": 1,
3957                                "column": 1
3958                              },
3959                              "end": {
3960                                "line": 1,
3961                                "column": 1
3962                              }
3963                            }
3964                          },
3965                          "loc": {
3966                            "start": {
3967                              "line": 1,
3968                              "column": 1
3969                            },
3970                            "end": {
3971                              "line": 1,
3972                              "column": 1
3973                            }
3974                          }
3975                        },
3976                        "arguments": [
3977                          {
3978                            "type": "BinaryExpression",
3979                            "operator": "+",
3980                            "left": {
3981                              "type": "StringLiteral",
3982                              "value": "No enum constant in TrailingCommaEnum with ordinal value ",
3983                              "loc": {
3984                                "start": {
3985                                  "line": 1,
3986                                  "column": 1
3987                                },
3988                                "end": {
3989                                  "line": 1,
3990                                  "column": 1
3991                                }
3992                              }
3993                            },
3994                            "right": {
3995                              "type": "Identifier",
3996                              "name": "ordinal",
3997                              "decorators": [],
3998                              "loc": {
3999                                "start": {
4000                                  "line": 1,
4001                                  "column": 1
4002                                },
4003                                "end": {
4004                                  "line": 1,
4005                                  "column": 1
4006                                }
4007                              }
4008                            },
4009                            "loc": {
4010                              "start": {
4011                                "line": 1,
4012                                "column": 1
4013                              },
4014                              "end": {
4015                                "line": 1,
4016                                "column": 1
4017                              }
4018                            }
4019                          }
4020                        ],
4021                        "loc": {
4022                          "start": {
4023                            "line": 1,
4024                            "column": 1
4025                          },
4026                          "end": {
4027                            "line": 1,
4028                            "column": 1
4029                          }
4030                        }
4031                      },
4032                      "loc": {
4033                        "start": {
4034                          "line": 1,
4035                          "column": 1
4036                        },
4037                        "end": {
4038                          "line": 1,
4039                          "column": 1
4040                        }
4041                      }
4042                    }
4043                  ],
4044                  "loc": {
4045                    "start": {
4046                      "line": 1,
4047                      "column": 1
4048                    },
4049                    "end": {
4050                      "line": 1,
4051                      "column": 1
4052                    }
4053                  }
4054                }
4055                "throwMarker": "throws",
4056                "loc": {
4057                  "start": {
4058                    "line": 1,
4059                    "column": 1
4060                  },
4061                  "end": {
4062                    "line": 1,
4063                    "column": 1
4064                  }
4065                }
4066              },
4067              "loc": {
4068                "start": {
4069                  "line": 1,
4070                  "column": 1
4071                },
4072                "end": {
4073                  "line": 1,
4074                  "column": 1
4075                }
4076              }
4077            },
4078            "overloads": [],
4079            "decorators": [],
4080            "loc": {
4081              "start": {
4082                "line": 1,
4083                "column": 1
4084              },
4085              "end": {
4086                "line": 1,
4087                "column": 1
4088              }
4089            }
4090          }
4091        ],
4092        "loc": {
4093          "start": {
4094            "line": 1,
4095            "column": 1
4096          },
4097          "end": {
4098            "line": 1,
4099            "column": 1
4100          }
4101        }
4102      },
4103      "loc": {
4104        "start": {
4105          "line": 1,
4106          "column": 1
4107        },
4108        "end": {
4109          "line": 1,
4110          "column": 1
4111        }
4112      }
4113    }
4114  ],
4115  "loc": {
4116    "start": {
4117      "line": 1,
4118      "column": 1
4119    },
4120    "end": {
4121      "line": 19,
4122      "column": 1
4123    }
4124  }
4125}
4126