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