• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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": 20,
13            "column": 6
14          },
15          "end": {
16            "line": 20,
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": 20,
31                "column": 14
32              },
33              "end": {
34                "line": 20,
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": 20,
56              "column": 14
57            },
58            "end": {
59              "line": 20,
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": 20,
73                "column": 19
74              },
75              "end": {
76                "line": 20,
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": 20,
98              "column": 19
99            },
100            "end": {
101              "line": 20,
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": 20,
115                "column": 26
116              },
117              "end": {
118                "line": 20,
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": 20,
140              "column": 26
141            },
142            "end": {
143              "line": 20,
144              "column": 30
145            }
146          }
147        }
148      ],
149      "const": false,
150      "declare": false,
151      "loc": {
152        "start": {
153          "line": 20,
154          "column": 1
155        },
156        "end": {
157          "line": 20,
158          "column": 32
159        }
160      }
161    },
162    {
163      "type": "ClassDeclaration",
164      "definition": {
165        "id": {
166          "type": "Identifier",
167          "name": "A",
168          "decorators": [],
169          "loc": {
170            "start": {
171              "line": 22,
172              "column": 7
173            },
174            "end": {
175              "line": 22,
176              "column": 8
177            }
178          }
179        },
180        "superClass": null,
181        "implements": [],
182        "body": [
183          {
184            "type": "ClassProperty",
185            "key": {
186              "type": "Identifier",
187              "name": "c",
188              "decorators": [],
189              "loc": {
190                "start": {
191                  "line": 23,
192                  "column": 10
193                },
194                "end": {
195                  "line": 23,
196                  "column": 11
197                }
198              }
199            },
200            "accessibility": "public",
201            "static": false,
202            "readonly": false,
203            "declare": false,
204            "optional": false,
205            "computed": false,
206            "typeAnnotation": {
207              "type": "ETSTypeReference",
208              "part": {
209                "type": "ETSTypeReferencePart",
210                "name": {
211                  "type": "Identifier",
212                  "name": "Color",
213                  "decorators": [],
214                  "loc": {
215                    "start": {
216                      "line": 23,
217                      "column": 13
218                    },
219                    "end": {
220                      "line": 23,
221                      "column": 18
222                    }
223                  }
224                },
225                "loc": {
226                  "start": {
227                    "line": 23,
228                    "column": 13
229                  },
230                  "end": {
231                    "line": 23,
232                    "column": 19
233                  }
234                }
235              },
236              "loc": {
237                "start": {
238                  "line": 23,
239                  "column": 13
240                },
241                "end": {
242                  "line": 23,
243                  "column": 19
244                }
245              }
246            },
247            "definite": false,
248            "decorators": [],
249            "loc": {
250              "start": {
251                "line": 23,
252                "column": 10
253              },
254              "end": {
255                "line": 23,
256                "column": 19
257              }
258            }
259          },
260          {
261            "type": "MethodDefinition",
262            "key": {
263              "type": "Identifier",
264              "name": "constructor",
265              "decorators": [],
266              "loc": {
267                "start": {
268                  "line": 1,
269                  "column": 1
270                },
271                "end": {
272                  "line": 1,
273                  "column": 1
274                }
275              }
276            },
277            "kind": "constructor",
278            "accessibility": "public",
279            "static": false,
280            "optional": false,
281            "computed": false,
282            "value": {
283              "type": "FunctionExpression",
284              "function": {
285                "type": "ScriptFunction",
286                "id": {
287                  "type": "Identifier",
288                  "name": "constructor",
289                  "decorators": [],
290                  "loc": {
291                    "start": {
292                      "line": 1,
293                      "column": 1
294                    },
295                    "end": {
296                      "line": 1,
297                      "column": 1
298                    }
299                  }
300                },
301                "generator": false,
302                "async": false,
303                "expression": false,
304                "params": [
305                  {
306                    "type": "ETSParameterExpression",
307                    "name": {
308                      "type": "Identifier",
309                      "name": "c_",
310                      "typeAnnotation": {
311                        "type": "ETSTypeReference",
312                        "part": {
313                          "type": "ETSTypeReferencePart",
314                          "name": {
315                            "type": "Identifier",
316                            "name": "Color",
317                            "decorators": [],
318                            "loc": {
319                              "start": {
320                                "line": 24,
321                                "column": 26
322                              },
323                              "end": {
324                                "line": 24,
325                                "column": 31
326                              }
327                            }
328                          },
329                          "loc": {
330                            "start": {
331                              "line": 24,
332                              "column": 26
333                            },
334                            "end": {
335                              "line": 24,
336                              "column": 32
337                            }
338                          }
339                        },
340                        "loc": {
341                          "start": {
342                            "line": 24,
343                            "column": 26
344                          },
345                          "end": {
346                            "line": 24,
347                            "column": 32
348                          }
349                        }
350                      },
351                      "decorators": [],
352                      "loc": {
353                        "start": {
354                          "line": 24,
355                          "column": 22
356                        },
357                        "end": {
358                          "line": 24,
359                          "column": 32
360                        }
361                      }
362                    },
363                    "loc": {
364                      "start": {
365                        "line": 24,
366                        "column": 22
367                      },
368                      "end": {
369                        "line": 24,
370                        "column": 32
371                      }
372                    }
373                  }
374                ],
375                "body": {
376                  "type": "BlockStatement",
377                  "statements": [
378                    {
379                      "type": "ExpressionStatement",
380                      "expression": {
381                        "type": "AssignmentExpression",
382                        "operator": "=",
383                        "left": {
384                          "type": "MemberExpression",
385                          "object": {
386                            "type": "ThisExpression",
387                            "loc": {
388                              "start": {
389                                "line": 25,
390                                "column": 5
391                              },
392                              "end": {
393                                "line": 25,
394                                "column": 9
395                              }
396                            }
397                          },
398                          "property": {
399                            "type": "Identifier",
400                            "name": "c",
401                            "decorators": [],
402                            "loc": {
403                              "start": {
404                                "line": 25,
405                                "column": 10
406                              },
407                              "end": {
408                                "line": 25,
409                                "column": 11
410                              }
411                            }
412                          },
413                          "computed": false,
414                          "optional": false,
415                          "loc": {
416                            "start": {
417                              "line": 25,
418                              "column": 5
419                            },
420                            "end": {
421                              "line": 25,
422                              "column": 11
423                            }
424                          }
425                        },
426                        "right": {
427                          "type": "Identifier",
428                          "name": "c_",
429                          "decorators": [],
430                          "loc": {
431                            "start": {
432                              "line": 25,
433                              "column": 14
434                            },
435                            "end": {
436                              "line": 25,
437                              "column": 16
438                            }
439                          }
440                        },
441                        "loc": {
442                          "start": {
443                            "line": 25,
444                            "column": 5
445                          },
446                          "end": {
447                            "line": 25,
448                            "column": 16
449                          }
450                        }
451                      },
452                      "loc": {
453                        "start": {
454                          "line": 25,
455                          "column": 5
456                        },
457                        "end": {
458                          "line": 25,
459                          "column": 17
460                        }
461                      }
462                    }
463                  ],
464                  "loc": {
465                    "start": {
466                      "line": 24,
467                      "column": 33
468                    },
469                    "end": {
470                      "line": 26,
471                      "column": 4
472                    }
473                  }
474                },
475                "loc": {
476                  "start": {
477                    "line": 24,
478                    "column": 21
479                  },
480                  "end": {
481                    "line": 26,
482                    "column": 4
483                  }
484                }
485              },
486              "loc": {
487                "start": {
488                  "line": 24,
489                  "column": 21
490                },
491                "end": {
492                  "line": 26,
493                  "column": 4
494                }
495              }
496            },
497            "overloads": [],
498            "decorators": [],
499            "loc": {
500              "start": {
501                "line": 24,
502                "column": 3
503              },
504              "end": {
505                "line": 26,
506                "column": 4
507              }
508            }
509          }
510        ],
511        "loc": {
512          "start": {
513            "line": 22,
514            "column": 9
515          },
516          "end": {
517            "line": 27,
518            "column": 2
519          }
520        }
521      },
522      "loc": {
523        "start": {
524          "line": 22,
525          "column": 1
526        },
527        "end": {
528          "line": 27,
529          "column": 2
530        }
531      }
532    },
533    {
534      "type": "ClassDeclaration",
535      "definition": {
536        "id": {
537          "type": "Identifier",
538          "name": "ETSGLOBAL",
539          "decorators": [],
540          "loc": {
541            "start": {
542              "line": 1,
543              "column": 1
544            },
545            "end": {
546              "line": 1,
547              "column": 1
548            }
549          }
550        },
551        "superClass": null,
552        "implements": [],
553        "body": [
554          {
555            "type": "MethodDefinition",
556            "key": {
557              "type": "Identifier",
558              "name": "_$init$_",
559              "decorators": [],
560              "loc": {
561                "start": {
562                  "line": 1,
563                  "column": 1
564                },
565                "end": {
566                  "line": 1,
567                  "column": 1
568                }
569              }
570            },
571            "kind": "method",
572            "accessibility": "public",
573            "static": true,
574            "optional": false,
575            "computed": false,
576            "value": {
577              "type": "FunctionExpression",
578              "function": {
579                "type": "ScriptFunction",
580                "id": {
581                  "type": "Identifier",
582                  "name": "_$init$_",
583                  "decorators": [],
584                  "loc": {
585                    "start": {
586                      "line": 1,
587                      "column": 1
588                    },
589                    "end": {
590                      "line": 1,
591                      "column": 1
592                    }
593                  }
594                },
595                "generator": false,
596                "async": false,
597                "expression": false,
598                "params": [],
599                "body": {
600                  "type": "BlockStatement",
601                  "statements": [],
602                  "loc": {
603                    "start": {
604                      "line": 1,
605                      "column": 1
606                    },
607                    "end": {
608                      "line": 1,
609                      "column": 1
610                    }
611                  }
612                },
613                "loc": {
614                  "start": {
615                    "line": 1,
616                    "column": 1
617                  },
618                  "end": {
619                    "line": 1,
620                    "column": 1
621                  }
622                }
623              },
624              "loc": {
625                "start": {
626                  "line": 1,
627                  "column": 1
628                },
629                "end": {
630                  "line": 1,
631                  "column": 1
632                }
633              }
634            },
635            "overloads": [],
636            "decorators": [],
637            "loc": {
638              "start": {
639                "line": 1,
640                "column": 1
641              },
642              "end": {
643                "line": 1,
644                "column": 1
645              }
646            }
647          },
648          {
649            "type": "MethodDefinition",
650            "key": {
651              "type": "Identifier",
652              "name": "colorToInt",
653              "decorators": [],
654              "loc": {
655                "start": {
656                  "line": 29,
657                  "column": 10
658                },
659                "end": {
660                  "line": 29,
661                  "column": 20
662                }
663              }
664            },
665            "kind": "method",
666            "accessibility": "public",
667            "static": true,
668            "optional": false,
669            "computed": false,
670            "value": {
671              "type": "FunctionExpression",
672              "function": {
673                "type": "ScriptFunction",
674                "id": {
675                  "type": "Identifier",
676                  "name": "colorToInt",
677                  "decorators": [],
678                  "loc": {
679                    "start": {
680                      "line": 29,
681                      "column": 10
682                    },
683                    "end": {
684                      "line": 29,
685                      "column": 20
686                    }
687                  }
688                },
689                "generator": false,
690                "async": false,
691                "expression": false,
692                "params": [
693                  {
694                    "type": "ETSParameterExpression",
695                    "name": {
696                      "type": "Identifier",
697                      "name": "c",
698                      "typeAnnotation": {
699                        "type": "ETSTypeReference",
700                        "part": {
701                          "type": "ETSTypeReferencePart",
702                          "name": {
703                            "type": "Identifier",
704                            "name": "Color",
705                            "decorators": [],
706                            "loc": {
707                              "start": {
708                                "line": 29,
709                                "column": 24
710                              },
711                              "end": {
712                                "line": 29,
713                                "column": 29
714                              }
715                            }
716                          },
717                          "loc": {
718                            "start": {
719                              "line": 29,
720                              "column": 24
721                            },
722                            "end": {
723                              "line": 29,
724                              "column": 30
725                            }
726                          }
727                        },
728                        "loc": {
729                          "start": {
730                            "line": 29,
731                            "column": 24
732                          },
733                          "end": {
734                            "line": 29,
735                            "column": 30
736                          }
737                        }
738                      },
739                      "decorators": [],
740                      "loc": {
741                        "start": {
742                          "line": 29,
743                          "column": 21
744                        },
745                        "end": {
746                          "line": 29,
747                          "column": 30
748                        }
749                      }
750                    },
751                    "loc": {
752                      "start": {
753                        "line": 29,
754                        "column": 21
755                      },
756                      "end": {
757                        "line": 29,
758                        "column": 30
759                      }
760                    }
761                  }
762                ],
763                "returnType": {
764                  "type": "ETSPrimitiveType",
765                  "loc": {
766                    "start": {
767                      "line": 29,
768                      "column": 32
769                    },
770                    "end": {
771                      "line": 29,
772                      "column": 35
773                    }
774                  }
775                },
776                "body": {
777                  "type": "BlockStatement",
778                  "statements": [
779                    {
780                      "type": "ReturnStatement",
781                      "argument": {
782                        "type": "TSAsExpression",
783                        "expression": {
784                          "type": "Identifier",
785                          "name": "c",
786                          "decorators": [],
787                          "loc": {
788                            "start": {
789                              "line": 30,
790                              "column": 10
791                            },
792                            "end": {
793                              "line": 30,
794                              "column": 11
795                            }
796                          }
797                        },
798                        "typeAnnotation": {
799                          "type": "ETSPrimitiveType",
800                          "loc": {
801                            "start": {
802                              "line": 30,
803                              "column": 15
804                            },
805                            "end": {
806                              "line": 30,
807                              "column": 18
808                            }
809                          }
810                        },
811                        "loc": {
812                          "start": {
813                            "line": 30,
814                            "column": 10
815                          },
816                          "end": {
817                            "line": 30,
818                            "column": 11
819                          }
820                        }
821                      },
822                      "loc": {
823                        "start": {
824                          "line": 30,
825                          "column": 3
826                        },
827                        "end": {
828                          "line": 30,
829                          "column": 19
830                        }
831                      }
832                    }
833                  ],
834                  "loc": {
835                    "start": {
836                      "line": 29,
837                      "column": 36
838                    },
839                    "end": {
840                      "line": 31,
841                      "column": 2
842                    }
843                  }
844                },
845                "loc": {
846                  "start": {
847                    "line": 29,
848                    "column": 10
849                  },
850                  "end": {
851                    "line": 31,
852                    "column": 2
853                  }
854                }
855              },
856              "loc": {
857                "start": {
858                  "line": 29,
859                  "column": 10
860                },
861                "end": {
862                  "line": 31,
863                  "column": 2
864                }
865              }
866            },
867            "overloads": [],
868            "decorators": [],
869            "loc": {
870              "start": {
871                "line": 29,
872                "column": 1
873              },
874              "end": {
875                "line": 31,
876                "column": 2
877              }
878            }
879          },
880          {
881            "type": "MethodDefinition",
882            "key": {
883              "type": "Identifier",
884              "name": "main",
885              "decorators": [],
886              "loc": {
887                "start": {
888                  "line": 33,
889                  "column": 10
890                },
891                "end": {
892                  "line": 33,
893                  "column": 14
894                }
895              }
896            },
897            "kind": "method",
898            "accessibility": "public",
899            "static": true,
900            "optional": false,
901            "computed": false,
902            "value": {
903              "type": "FunctionExpression",
904              "function": {
905                "type": "ScriptFunction",
906                "id": {
907                  "type": "Identifier",
908                  "name": "main",
909                  "decorators": [],
910                  "loc": {
911                    "start": {
912                      "line": 33,
913                      "column": 10
914                    },
915                    "end": {
916                      "line": 33,
917                      "column": 14
918                    }
919                  }
920                },
921                "generator": false,
922                "async": false,
923                "expression": false,
924                "params": [],
925                "returnType": {
926                  "type": "ETSPrimitiveType",
927                  "loc": {
928                    "start": {
929                      "line": 33,
930                      "column": 18
931                    },
932                    "end": {
933                      "line": 33,
934                      "column": 22
935                    }
936                  }
937                },
938                "body": {
939                  "type": "BlockStatement",
940                  "statements": [
941                    {
942                      "type": "VariableDeclaration",
943                      "declarations": [
944                        {
945                          "type": "VariableDeclarator",
946                          "id": {
947                            "type": "Identifier",
948                            "name": "red",
949                            "typeAnnotation": {
950                              "type": "ETSTypeReference",
951                              "part": {
952                                "type": "ETSTypeReferencePart",
953                                "name": {
954                                  "type": "Identifier",
955                                  "name": "Color",
956                                  "decorators": [],
957                                  "loc": {
958                                    "start": {
959                                      "line": 34,
960                                      "column": 12
961                                    },
962                                    "end": {
963                                      "line": 34,
964                                      "column": 17
965                                    }
966                                  }
967                                },
968                                "loc": {
969                                  "start": {
970                                    "line": 34,
971                                    "column": 12
972                                  },
973                                  "end": {
974                                    "line": 34,
975                                    "column": 19
976                                  }
977                                }
978                              },
979                              "loc": {
980                                "start": {
981                                  "line": 34,
982                                  "column": 12
983                                },
984                                "end": {
985                                  "line": 34,
986                                  "column": 19
987                                }
988                              }
989                            },
990                            "decorators": [],
991                            "loc": {
992                              "start": {
993                                "line": 34,
994                                "column": 7
995                              },
996                              "end": {
997                                "line": 34,
998                                "column": 10
999                              }
1000                            }
1001                          },
1002                          "init": {
1003                            "type": "MemberExpression",
1004                            "object": {
1005                              "type": "Identifier",
1006                              "name": "Color",
1007                              "decorators": [],
1008                              "loc": {
1009                                "start": {
1010                                  "line": 34,
1011                                  "column": 20
1012                                },
1013                                "end": {
1014                                  "line": 34,
1015                                  "column": 25
1016                                }
1017                              }
1018                            },
1019                            "property": {
1020                              "type": "Identifier",
1021                              "name": "Red",
1022                              "decorators": [],
1023                              "loc": {
1024                                "start": {
1025                                  "line": 34,
1026                                  "column": 26
1027                                },
1028                                "end": {
1029                                  "line": 34,
1030                                  "column": 29
1031                                }
1032                              }
1033                            },
1034                            "computed": false,
1035                            "optional": false,
1036                            "loc": {
1037                              "start": {
1038                                "line": 34,
1039                                "column": 20
1040                              },
1041                              "end": {
1042                                "line": 34,
1043                                "column": 29
1044                              }
1045                            }
1046                          },
1047                          "loc": {
1048                            "start": {
1049                              "line": 34,
1050                              "column": 7
1051                            },
1052                            "end": {
1053                              "line": 34,
1054                              "column": 29
1055                            }
1056                          }
1057                        }
1058                      ],
1059                      "kind": "let",
1060                      "loc": {
1061                        "start": {
1062                          "line": 34,
1063                          "column": 3
1064                        },
1065                        "end": {
1066                          "line": 34,
1067                          "column": 30
1068                        }
1069                      }
1070                    },
1071                    {
1072                      "type": "AssertStatement",
1073                      "test": {
1074                        "type": "BinaryExpression",
1075                        "operator": "==",
1076                        "left": {
1077                          "type": "Identifier",
1078                          "name": "red",
1079                          "decorators": [],
1080                          "loc": {
1081                            "start": {
1082                              "line": 35,
1083                              "column": 10
1084                            },
1085                            "end": {
1086                              "line": 35,
1087                              "column": 13
1088                            }
1089                          }
1090                        },
1091                        "right": {
1092                          "type": "MemberExpression",
1093                          "object": {
1094                            "type": "Identifier",
1095                            "name": "Color",
1096                            "decorators": [],
1097                            "loc": {
1098                              "start": {
1099                                "line": 35,
1100                                "column": 17
1101                              },
1102                              "end": {
1103                                "line": 35,
1104                                "column": 22
1105                              }
1106                            }
1107                          },
1108                          "property": {
1109                            "type": "Identifier",
1110                            "name": "Red",
1111                            "decorators": [],
1112                            "loc": {
1113                              "start": {
1114                                "line": 35,
1115                                "column": 23
1116                              },
1117                              "end": {
1118                                "line": 35,
1119                                "column": 26
1120                              }
1121                            }
1122                          },
1123                          "computed": false,
1124                          "optional": false,
1125                          "loc": {
1126                            "start": {
1127                              "line": 35,
1128                              "column": 17
1129                            },
1130                            "end": {
1131                              "line": 35,
1132                              "column": 26
1133                            }
1134                          }
1135                        },
1136                        "loc": {
1137                          "start": {
1138                            "line": 35,
1139                            "column": 10
1140                          },
1141                          "end": {
1142                            "line": 35,
1143                            "column": 26
1144                          }
1145                        }
1146                      },
1147                      "second": null,
1148                      "loc": {
1149                        "start": {
1150                          "line": 35,
1151                          "column": 3
1152                        },
1153                        "end": {
1154                          "line": 35,
1155                          "column": 27
1156                        }
1157                      }
1158                    },
1159                    {
1160                      "type": "AssertStatement",
1161                      "test": {
1162                        "type": "BinaryExpression",
1163                        "operator": "==",
1164                        "left": {
1165                          "type": "CallExpression",
1166                          "callee": {
1167                            "type": "Identifier",
1168                            "name": "colorToInt",
1169                            "decorators": [],
1170                            "loc": {
1171                              "start": {
1172                                "line": 36,
1173                                "column": 10
1174                              },
1175                              "end": {
1176                                "line": 36,
1177                                "column": 20
1178                              }
1179                            }
1180                          },
1181                          "arguments": [
1182                            {
1183                              "type": "Identifier",
1184                              "name": "red",
1185                              "decorators": [],
1186                              "loc": {
1187                                "start": {
1188                                  "line": 36,
1189                                  "column": 21
1190                                },
1191                                "end": {
1192                                  "line": 36,
1193                                  "column": 24
1194                                }
1195                              }
1196                            }
1197                          ],
1198                          "optional": false,
1199                          "loc": {
1200                            "start": {
1201                              "line": 36,
1202                              "column": 10
1203                            },
1204                            "end": {
1205                              "line": 36,
1206                              "column": 25
1207                            }
1208                          }
1209                        },
1210                        "right": {
1211                          "type": "NumberLiteral",
1212                          "value": 0,
1213                          "loc": {
1214                            "start": {
1215                              "line": 36,
1216                              "column": 29
1217                            },
1218                            "end": {
1219                              "line": 36,
1220                              "column": 30
1221                            }
1222                          }
1223                        },
1224                        "loc": {
1225                          "start": {
1226                            "line": 36,
1227                            "column": 10
1228                          },
1229                          "end": {
1230                            "line": 36,
1231                            "column": 30
1232                          }
1233                        }
1234                      },
1235                      "second": null,
1236                      "loc": {
1237                        "start": {
1238                          "line": 36,
1239                          "column": 3
1240                        },
1241                        "end": {
1242                          "line": 36,
1243                          "column": 31
1244                        }
1245                      }
1246                    },
1247                    {
1248                      "type": "VariableDeclaration",
1249                      "declarations": [
1250                        {
1251                          "type": "VariableDeclarator",
1252                          "id": {
1253                            "type": "Identifier",
1254                            "name": "red2",
1255                            "typeAnnotation": {
1256                              "type": "ETSTypeReference",
1257                              "part": {
1258                                "type": "ETSTypeReferencePart",
1259                                "name": {
1260                                  "type": "Identifier",
1261                                  "name": "Color",
1262                                  "decorators": [],
1263                                  "loc": {
1264                                    "start": {
1265                                      "line": 38,
1266                                      "column": 13
1267                                    },
1268                                    "end": {
1269                                      "line": 38,
1270                                      "column": 18
1271                                    }
1272                                  }
1273                                },
1274                                "loc": {
1275                                  "start": {
1276                                    "line": 38,
1277                                    "column": 13
1278                                  },
1279                                  "end": {
1280                                    "line": 38,
1281                                    "column": 20
1282                                  }
1283                                }
1284                              },
1285                              "loc": {
1286                                "start": {
1287                                  "line": 38,
1288                                  "column": 13
1289                                },
1290                                "end": {
1291                                  "line": 38,
1292                                  "column": 20
1293                                }
1294                              }
1295                            },
1296                            "decorators": [],
1297                            "loc": {
1298                              "start": {
1299                                "line": 38,
1300                                "column": 7
1301                              },
1302                              "end": {
1303                                "line": 38,
1304                                "column": 11
1305                              }
1306                            }
1307                          },
1308                          "init": {
1309                            "type": "Identifier",
1310                            "name": "red",
1311                            "decorators": [],
1312                            "loc": {
1313                              "start": {
1314                                "line": 38,
1315                                "column": 21
1316                              },
1317                              "end": {
1318                                "line": 38,
1319                                "column": 24
1320                              }
1321                            }
1322                          },
1323                          "loc": {
1324                            "start": {
1325                              "line": 38,
1326                              "column": 7
1327                            },
1328                            "end": {
1329                              "line": 38,
1330                              "column": 24
1331                            }
1332                          }
1333                        }
1334                      ],
1335                      "kind": "let",
1336                      "loc": {
1337                        "start": {
1338                          "line": 38,
1339                          "column": 3
1340                        },
1341                        "end": {
1342                          "line": 38,
1343                          "column": 25
1344                        }
1345                      }
1346                    },
1347                    {
1348                      "type": "AssertStatement",
1349                      "test": {
1350                        "type": "BinaryExpression",
1351                        "operator": "==",
1352                        "left": {
1353                          "type": "Identifier",
1354                          "name": "red",
1355                          "decorators": [],
1356                          "loc": {
1357                            "start": {
1358                              "line": 39,
1359                              "column": 10
1360                            },
1361                            "end": {
1362                              "line": 39,
1363                              "column": 13
1364                            }
1365                          }
1366                        },
1367                        "right": {
1368                          "type": "Identifier",
1369                          "name": "red2",
1370                          "decorators": [],
1371                          "loc": {
1372                            "start": {
1373                              "line": 39,
1374                              "column": 17
1375                            },
1376                            "end": {
1377                              "line": 39,
1378                              "column": 21
1379                            }
1380                          }
1381                        },
1382                        "loc": {
1383                          "start": {
1384                            "line": 39,
1385                            "column": 10
1386                          },
1387                          "end": {
1388                            "line": 39,
1389                            "column": 21
1390                          }
1391                        }
1392                      },
1393                      "second": null,
1394                      "loc": {
1395                        "start": {
1396                          "line": 39,
1397                          "column": 3
1398                        },
1399                        "end": {
1400                          "line": 39,
1401                          "column": 22
1402                        }
1403                      }
1404                    },
1405                    {
1406                      "type": "AssertStatement",
1407                      "test": {
1408                        "type": "BinaryExpression",
1409                        "operator": "==",
1410                        "left": {
1411                          "type": "MemberExpression",
1412                          "object": {
1413                            "type": "Identifier",
1414                            "name": "Color",
1415                            "decorators": [],
1416                            "loc": {
1417                              "start": {
1418                                "line": 40,
1419                                "column": 10
1420                              },
1421                              "end": {
1422                                "line": 40,
1423                                "column": 15
1424                              }
1425                            }
1426                          },
1427                          "property": {
1428                            "type": "Identifier",
1429                            "name": "Red",
1430                            "decorators": [],
1431                            "loc": {
1432                              "start": {
1433                                "line": 40,
1434                                "column": 16
1435                              },
1436                              "end": {
1437                                "line": 40,
1438                                "column": 19
1439                              }
1440                            }
1441                          },
1442                          "computed": false,
1443                          "optional": false,
1444                          "loc": {
1445                            "start": {
1446                              "line": 40,
1447                              "column": 10
1448                            },
1449                            "end": {
1450                              "line": 40,
1451                              "column": 19
1452                            }
1453                          }
1454                        },
1455                        "right": {
1456                          "type": "Identifier",
1457                          "name": "red2",
1458                          "decorators": [],
1459                          "loc": {
1460                            "start": {
1461                              "line": 40,
1462                              "column": 23
1463                            },
1464                            "end": {
1465                              "line": 40,
1466                              "column": 27
1467                            }
1468                          }
1469                        },
1470                        "loc": {
1471                          "start": {
1472                            "line": 40,
1473                            "column": 10
1474                          },
1475                          "end": {
1476                            "line": 40,
1477                            "column": 27
1478                          }
1479                        }
1480                      },
1481                      "second": null,
1482                      "loc": {
1483                        "start": {
1484                          "line": 40,
1485                          "column": 3
1486                        },
1487                        "end": {
1488                          "line": 40,
1489                          "column": 28
1490                        }
1491                      }
1492                    },
1493                    {
1494                      "type": "VariableDeclaration",
1495                      "declarations": [
1496                        {
1497                          "type": "VariableDeclarator",
1498                          "id": {
1499                            "type": "Identifier",
1500                            "name": "red_int",
1501                            "typeAnnotation": {
1502                              "type": "ETSPrimitiveType",
1503                              "loc": {
1504                                "start": {
1505                                  "line": 42,
1506                                  "column": 16
1507                                },
1508                                "end": {
1509                                  "line": 42,
1510                                  "column": 19
1511                                }
1512                              }
1513                            },
1514                            "decorators": [],
1515                            "loc": {
1516                              "start": {
1517                                "line": 42,
1518                                "column": 7
1519                              },
1520                              "end": {
1521                                "line": 42,
1522                                "column": 14
1523                              }
1524                            }
1525                          },
1526                          "init": {
1527                            "type": "TSAsExpression",
1528                            "expression": {
1529                              "type": "Identifier",
1530                              "name": "red",
1531                              "decorators": [],
1532                              "loc": {
1533                                "start": {
1534                                  "line": 42,
1535                                  "column": 22
1536                                },
1537                                "end": {
1538                                  "line": 42,
1539                                  "column": 25
1540                                }
1541                              }
1542                            },
1543                            "typeAnnotation": {
1544                              "type": "ETSPrimitiveType",
1545                              "loc": {
1546                                "start": {
1547                                  "line": 42,
1548                                  "column": 29
1549                                },
1550                                "end": {
1551                                  "line": 42,
1552                                  "column": 32
1553                                }
1554                              }
1555                            },
1556                            "loc": {
1557                              "start": {
1558                                "line": 42,
1559                                "column": 22
1560                              },
1561                              "end": {
1562                                "line": 42,
1563                                "column": 25
1564                              }
1565                            }
1566                          },
1567                          "loc": {
1568                            "start": {
1569                              "line": 42,
1570                              "column": 7
1571                            },
1572                            "end": {
1573                              "line": 42,
1574                              "column": 25
1575                            }
1576                          }
1577                        }
1578                      ],
1579                      "kind": "let",
1580                      "loc": {
1581                        "start": {
1582                          "line": 42,
1583                          "column": 3
1584                        },
1585                        "end": {
1586                          "line": 42,
1587                          "column": 33
1588                        }
1589                      }
1590                    },
1591                    {
1592                      "type": "AssertStatement",
1593                      "test": {
1594                        "type": "BinaryExpression",
1595                        "operator": "==",
1596                        "left": {
1597                          "type": "Identifier",
1598                          "name": "red_int",
1599                          "decorators": [],
1600                          "loc": {
1601                            "start": {
1602                              "line": 43,
1603                              "column": 10
1604                            },
1605                            "end": {
1606                              "line": 43,
1607                              "column": 17
1608                            }
1609                          }
1610                        },
1611                        "right": {
1612                          "type": "NumberLiteral",
1613                          "value": 0,
1614                          "loc": {
1615                            "start": {
1616                              "line": 43,
1617                              "column": 21
1618                            },
1619                            "end": {
1620                              "line": 43,
1621                              "column": 22
1622                            }
1623                          }
1624                        },
1625                        "loc": {
1626                          "start": {
1627                            "line": 43,
1628                            "column": 10
1629                          },
1630                          "end": {
1631                            "line": 43,
1632                            "column": 22
1633                          }
1634                        }
1635                      },
1636                      "second": null,
1637                      "loc": {
1638                        "start": {
1639                          "line": 43,
1640                          "column": 3
1641                        },
1642                        "end": {
1643                          "line": 43,
1644                          "column": 23
1645                        }
1646                      }
1647                    },
1648                    {
1649                      "type": "AssertStatement",
1650                      "test": {
1651                        "type": "BinaryExpression",
1652                        "operator": "==",
1653                        "left": {
1654                          "type": "Identifier",
1655                          "name": "red_int",
1656                          "decorators": [],
1657                          "loc": {
1658                            "start": {
1659                              "line": 44,
1660                              "column": 10
1661                            },
1662                            "end": {
1663                              "line": 44,
1664                              "column": 17
1665                            }
1666                          }
1667                        },
1668                        "right": {
1669                          "type": "TSAsExpression",
1670                          "expression": {
1671                            "type": "MemberExpression",
1672                            "object": {
1673                              "type": "Identifier",
1674                              "name": "Color",
1675                              "decorators": [],
1676                              "loc": {
1677                                "start": {
1678                                  "line": 44,
1679                                  "column": 21
1680                                },
1681                                "end": {
1682                                  "line": 44,
1683                                  "column": 26
1684                                }
1685                              }
1686                            },
1687                            "property": {
1688                              "type": "Identifier",
1689                              "name": "Red",
1690                              "decorators": [],
1691                              "loc": {
1692                                "start": {
1693                                  "line": 44,
1694                                  "column": 27
1695                                },
1696                                "end": {
1697                                  "line": 44,
1698                                  "column": 30
1699                                }
1700                              }
1701                            },
1702                            "computed": false,
1703                            "optional": false,
1704                            "loc": {
1705                              "start": {
1706                                "line": 44,
1707                                "column": 21
1708                              },
1709                              "end": {
1710                                "line": 44,
1711                                "column": 30
1712                              }
1713                            }
1714                          },
1715                          "typeAnnotation": {
1716                            "type": "ETSPrimitiveType",
1717                            "loc": {
1718                              "start": {
1719                                "line": 44,
1720                                "column": 34
1721                              },
1722                              "end": {
1723                                "line": 44,
1724                                "column": 37
1725                              }
1726                            }
1727                          },
1728                          "loc": {
1729                            "start": {
1730                              "line": 44,
1731                              "column": 21
1732                            },
1733                            "end": {
1734                              "line": 44,
1735                              "column": 30
1736                            }
1737                          }
1738                        },
1739                        "loc": {
1740                          "start": {
1741                            "line": 44,
1742                            "column": 10
1743                          },
1744                          "end": {
1745                            "line": 44,
1746                            "column": 30
1747                          }
1748                        }
1749                      },
1750                      "second": null,
1751                      "loc": {
1752                        "start": {
1753                          "line": 44,
1754                          "column": 3
1755                        },
1756                        "end": {
1757                          "line": 44,
1758                          "column": 38
1759                        }
1760                      }
1761                    },
1762                    {
1763                      "type": "VariableDeclaration",
1764                      "declarations": [
1765                        {
1766                          "type": "VariableDeclarator",
1767                          "id": {
1768                            "type": "Identifier",
1769                            "name": "a",
1770                            "typeAnnotation": {
1771                              "type": "ETSTypeReference",
1772                              "part": {
1773                                "type": "ETSTypeReferencePart",
1774                                "name": {
1775                                  "type": "Identifier",
1776                                  "name": "A",
1777                                  "decorators": [],
1778                                  "loc": {
1779                                    "start": {
1780                                      "line": 46,
1781                                      "column": 10
1782                                    },
1783                                    "end": {
1784                                      "line": 46,
1785                                      "column": 11
1786                                    }
1787                                  }
1788                                },
1789                                "loc": {
1790                                  "start": {
1791                                    "line": 46,
1792                                    "column": 10
1793                                  },
1794                                  "end": {
1795                                    "line": 46,
1796                                    "column": 13
1797                                  }
1798                                }
1799                              },
1800                              "loc": {
1801                                "start": {
1802                                  "line": 46,
1803                                  "column": 10
1804                                },
1805                                "end": {
1806                                  "line": 46,
1807                                  "column": 13
1808                                }
1809                              }
1810                            },
1811                            "decorators": [],
1812                            "loc": {
1813                              "start": {
1814                                "line": 46,
1815                                "column": 7
1816                              },
1817                              "end": {
1818                                "line": 46,
1819                                "column": 8
1820                              }
1821                            }
1822                          },
1823                          "init": {
1824                            "type": "ETSNewClassInstanceExpression",
1825                            "typeReference": {
1826                              "type": "ETSTypeReference",
1827                              "part": {
1828                                "type": "ETSTypeReferencePart",
1829                                "name": {
1830                                  "type": "Identifier",
1831                                  "name": "A",
1832                                  "decorators": [],
1833                                  "loc": {
1834                                    "start": {
1835                                      "line": 46,
1836                                      "column": 18
1837                                    },
1838                                    "end": {
1839                                      "line": 46,
1840                                      "column": 19
1841                                    }
1842                                  }
1843                                },
1844                                "loc": {
1845                                  "start": {
1846                                    "line": 46,
1847                                    "column": 18
1848                                  },
1849                                  "end": {
1850                                    "line": 46,
1851                                    "column": 20
1852                                  }
1853                                }
1854                              },
1855                              "loc": {
1856                                "start": {
1857                                  "line": 46,
1858                                  "column": 18
1859                                },
1860                                "end": {
1861                                  "line": 46,
1862                                  "column": 20
1863                                }
1864                              }
1865                            },
1866                            "arguments": [
1867                              {
1868                                "type": "Identifier",
1869                                "name": "red",
1870                                "decorators": [],
1871                                "loc": {
1872                                  "start": {
1873                                    "line": 46,
1874                                    "column": 20
1875                                  },
1876                                  "end": {
1877                                    "line": 46,
1878                                    "column": 23
1879                                  }
1880                                }
1881                              }
1882                            ],
1883                            "loc": {
1884                              "start": {
1885                                "line": 46,
1886                                "column": 14
1887                              },
1888                              "end": {
1889                                "line": 46,
1890                                "column": 25
1891                              }
1892                            }
1893                          },
1894                          "loc": {
1895                            "start": {
1896                              "line": 46,
1897                              "column": 7
1898                            },
1899                            "end": {
1900                              "line": 46,
1901                              "column": 25
1902                            }
1903                          }
1904                        }
1905                      ],
1906                      "kind": "let",
1907                      "loc": {
1908                        "start": {
1909                          "line": 46,
1910                          "column": 3
1911                        },
1912                        "end": {
1913                          "line": 46,
1914                          "column": 25
1915                        }
1916                      }
1917                    },
1918                    {
1919                      "type": "AssertStatement",
1920                      "test": {
1921                        "type": "BinaryExpression",
1922                        "operator": "==",
1923                        "left": {
1924                          "type": "MemberExpression",
1925                          "object": {
1926                            "type": "Identifier",
1927                            "name": "a",
1928                            "decorators": [],
1929                            "loc": {
1930                              "start": {
1931                                "line": 47,
1932                                "column": 10
1933                              },
1934                              "end": {
1935                                "line": 47,
1936                                "column": 11
1937                              }
1938                            }
1939                          },
1940                          "property": {
1941                            "type": "Identifier",
1942                            "name": "c",
1943                            "decorators": [],
1944                            "loc": {
1945                              "start": {
1946                                "line": 47,
1947                                "column": 12
1948                              },
1949                              "end": {
1950                                "line": 47,
1951                                "column": 13
1952                              }
1953                            }
1954                          },
1955                          "computed": false,
1956                          "optional": false,
1957                          "loc": {
1958                            "start": {
1959                              "line": 47,
1960                              "column": 10
1961                            },
1962                            "end": {
1963                              "line": 47,
1964                              "column": 13
1965                            }
1966                          }
1967                        },
1968                        "right": {
1969                          "type": "MemberExpression",
1970                          "object": {
1971                            "type": "Identifier",
1972                            "name": "Color",
1973                            "decorators": [],
1974                            "loc": {
1975                              "start": {
1976                                "line": 47,
1977                                "column": 17
1978                              },
1979                              "end": {
1980                                "line": 47,
1981                                "column": 22
1982                              }
1983                            }
1984                          },
1985                          "property": {
1986                            "type": "Identifier",
1987                            "name": "Red",
1988                            "decorators": [],
1989                            "loc": {
1990                              "start": {
1991                                "line": 47,
1992                                "column": 23
1993                              },
1994                              "end": {
1995                                "line": 47,
1996                                "column": 26
1997                              }
1998                            }
1999                          },
2000                          "computed": false,
2001                          "optional": false,
2002                          "loc": {
2003                            "start": {
2004                              "line": 47,
2005                              "column": 17
2006                            },
2007                            "end": {
2008                              "line": 47,
2009                              "column": 26
2010                            }
2011                          }
2012                        },
2013                        "loc": {
2014                          "start": {
2015                            "line": 47,
2016                            "column": 10
2017                          },
2018                          "end": {
2019                            "line": 47,
2020                            "column": 26
2021                          }
2022                        }
2023                      },
2024                      "second": null,
2025                      "loc": {
2026                        "start": {
2027                          "line": 47,
2028                          "column": 3
2029                        },
2030                        "end": {
2031                          "line": 47,
2032                          "column": 27
2033                        }
2034                      }
2035                    },
2036                    {
2037                      "type": "SwitchStatement",
2038                      "discriminant": {
2039                        "type": "Identifier",
2040                        "name": "red",
2041                        "decorators": [],
2042                        "loc": {
2043                          "start": {
2044                            "line": 49,
2045                            "column": 10
2046                          },
2047                          "end": {
2048                            "line": 49,
2049                            "column": 13
2050                          }
2051                        }
2052                      },
2053                      "cases": [
2054                        {
2055                          "type": "SwitchCase",
2056                          "test": {
2057                            "type": "MemberExpression",
2058                            "object": {
2059                              "type": "Identifier",
2060                              "name": "Color",
2061                              "decorators": [],
2062                              "loc": {
2063                                "start": {
2064                                  "line": 50,
2065                                  "column": 10
2066                                },
2067                                "end": {
2068                                  "line": 50,
2069                                  "column": 15
2070                                }
2071                              }
2072                            },
2073                            "property": {
2074                              "type": "Identifier",
2075                              "name": "Green",
2076                              "decorators": [],
2077                              "loc": {
2078                                "start": {
2079                                  "line": 50,
2080                                  "column": 16
2081                                },
2082                                "end": {
2083                                  "line": 50,
2084                                  "column": 21
2085                                }
2086                              }
2087                            },
2088                            "computed": false,
2089                            "optional": false,
2090                            "loc": {
2091                              "start": {
2092                                "line": 50,
2093                                "column": 10
2094                              },
2095                              "end": {
2096                                "line": 50,
2097                                "column": 21
2098                              }
2099                            }
2100                          },
2101                          "consequent": [
2102                            {
2103                              "type": "AssertStatement",
2104                              "test": {
2105                                "type": "BooleanLiteral",
2106                                "value": false,
2107                                "loc": {
2108                                  "start": {
2109                                    "line": 51,
2110                                    "column": 14
2111                                  },
2112                                  "end": {
2113                                    "line": 51,
2114                                    "column": 19
2115                                  }
2116                                }
2117                              },
2118                              "second": null,
2119                              "loc": {
2120                                "start": {
2121                                  "line": 51,
2122                                  "column": 7
2123                                },
2124                                "end": {
2125                                  "line": 51,
2126                                  "column": 20
2127                                }
2128                              }
2129                            },
2130                            {
2131                              "type": "BreakStatement",
2132                              "label": null,
2133                              "loc": {
2134                                "start": {
2135                                  "line": 52,
2136                                  "column": 7
2137                                },
2138                                "end": {
2139                                  "line": 52,
2140                                  "column": 13
2141                                }
2142                              }
2143                            }
2144                          ],
2145                          "loc": {
2146                            "start": {
2147                              "line": 50,
2148                              "column": 5
2149                            },
2150                            "end": {
2151                              "line": 52,
2152                              "column": 13
2153                            }
2154                          }
2155                        },
2156                        {
2157                          "type": "SwitchCase",
2158                          "test": {
2159                            "type": "MemberExpression",
2160                            "object": {
2161                              "type": "Identifier",
2162                              "name": "Color",
2163                              "decorators": [],
2164                              "loc": {
2165                                "start": {
2166                                  "line": 53,
2167                                  "column": 10
2168                                },
2169                                "end": {
2170                                  "line": 53,
2171                                  "column": 15
2172                                }
2173                              }
2174                            },
2175                            "property": {
2176                              "type": "Identifier",
2177                              "name": "Red",
2178                              "decorators": [],
2179                              "loc": {
2180                                "start": {
2181                                  "line": 53,
2182                                  "column": 16
2183                                },
2184                                "end": {
2185                                  "line": 53,
2186                                  "column": 19
2187                                }
2188                              }
2189                            },
2190                            "computed": false,
2191                            "optional": false,
2192                            "loc": {
2193                              "start": {
2194                                "line": 53,
2195                                "column": 10
2196                              },
2197                              "end": {
2198                                "line": 53,
2199                                "column": 19
2200                              }
2201                            }
2202                          },
2203                          "consequent": [
2204                            {
2205                              "type": "AssertStatement",
2206                              "test": {
2207                                "type": "BooleanLiteral",
2208                                "value": true,
2209                                "loc": {
2210                                  "start": {
2211                                    "line": 54,
2212                                    "column": 14
2213                                  },
2214                                  "end": {
2215                                    "line": 54,
2216                                    "column": 18
2217                                  }
2218                                }
2219                              },
2220                              "second": null,
2221                              "loc": {
2222                                "start": {
2223                                  "line": 54,
2224                                  "column": 7
2225                                },
2226                                "end": {
2227                                  "line": 54,
2228                                  "column": 19
2229                                }
2230                              }
2231                            },
2232                            {
2233                              "type": "BreakStatement",
2234                              "label": null,
2235                              "loc": {
2236                                "start": {
2237                                  "line": 55,
2238                                  "column": 7
2239                                },
2240                                "end": {
2241                                  "line": 55,
2242                                  "column": 13
2243                                }
2244                              }
2245                            }
2246                          ],
2247                          "loc": {
2248                            "start": {
2249                              "line": 53,
2250                              "column": 5
2251                            },
2252                            "end": {
2253                              "line": 55,
2254                              "column": 13
2255                            }
2256                          }
2257                        },
2258                        {
2259                          "type": "SwitchCase",
2260                          "test": null,
2261                          "consequent": [
2262                            {
2263                              "type": "AssertStatement",
2264                              "test": {
2265                                "type": "BooleanLiteral",
2266                                "value": false,
2267                                "loc": {
2268                                  "start": {
2269                                    "line": 57,
2270                                    "column": 14
2271                                  },
2272                                  "end": {
2273                                    "line": 57,
2274                                    "column": 19
2275                                  }
2276                                }
2277                              },
2278                              "second": null,
2279                              "loc": {
2280                                "start": {
2281                                  "line": 57,
2282                                  "column": 7
2283                                },
2284                                "end": {
2285                                  "line": 57,
2286                                  "column": 20
2287                                }
2288                              }
2289                            }
2290                          ],
2291                          "loc": {
2292                            "start": {
2293                              "line": 56,
2294                              "column": 5
2295                            },
2296                            "end": {
2297                              "line": 57,
2298                              "column": 20
2299                            }
2300                          }
2301                        }
2302                      ],
2303                      "loc": {
2304                        "start": {
2305                          "line": 49,
2306                          "column": 3
2307                        },
2308                        "end": {
2309                          "line": 58,
2310                          "column": 4
2311                        }
2312                      }
2313                    },
2314                    {
2315                      "type": "SwitchStatement",
2316                      "discriminant": {
2317                        "type": "MemberExpression",
2318                        "object": {
2319                          "type": "Identifier",
2320                          "name": "Color",
2321                          "decorators": [],
2322                          "loc": {
2323                            "start": {
2324                              "line": 60,
2325                              "column": 10
2326                            },
2327                            "end": {
2328                              "line": 60,
2329                              "column": 15
2330                            }
2331                          }
2332                        },
2333                        "property": {
2334                          "type": "Identifier",
2335                          "name": "Blue",
2336                          "decorators": [],
2337                          "loc": {
2338                            "start": {
2339                              "line": 60,
2340                              "column": 16
2341                            },
2342                            "end": {
2343                              "line": 60,
2344                              "column": 20
2345                            }
2346                          }
2347                        },
2348                        "computed": false,
2349                        "optional": false,
2350                        "loc": {
2351                          "start": {
2352                            "line": 60,
2353                            "column": 10
2354                          },
2355                          "end": {
2356                            "line": 60,
2357                            "column": 20
2358                          }
2359                        }
2360                      },
2361                      "cases": [
2362                        {
2363                          "type": "SwitchCase",
2364                          "test": {
2365                            "type": "MemberExpression",
2366                            "object": {
2367                              "type": "Identifier",
2368                              "name": "Color",
2369                              "decorators": [],
2370                              "loc": {
2371                                "start": {
2372                                  "line": 61,
2373                                  "column": 10
2374                                },
2375                                "end": {
2376                                  "line": 61,
2377                                  "column": 15
2378                                }
2379                              }
2380                            },
2381                            "property": {
2382                              "type": "Identifier",
2383                              "name": "Green",
2384                              "decorators": [],
2385                              "loc": {
2386                                "start": {
2387                                  "line": 61,
2388                                  "column": 16
2389                                },
2390                                "end": {
2391                                  "line": 61,
2392                                  "column": 21
2393                                }
2394                              }
2395                            },
2396                            "computed": false,
2397                            "optional": false,
2398                            "loc": {
2399                              "start": {
2400                                "line": 61,
2401                                "column": 10
2402                              },
2403                              "end": {
2404                                "line": 61,
2405                                "column": 21
2406                              }
2407                            }
2408                          },
2409                          "consequent": [],
2410                          "loc": {
2411                            "start": {
2412                              "line": 61,
2413                              "column": 5
2414                            },
2415                            "end": {
2416                              "line": 61,
2417                              "column": 22
2418                            }
2419                          }
2420                        },
2421                        {
2422                          "type": "SwitchCase",
2423                          "test": {
2424                            "type": "MemberExpression",
2425                            "object": {
2426                              "type": "Identifier",
2427                              "name": "Color",
2428                              "decorators": [],
2429                              "loc": {
2430                                "start": {
2431                                  "line": 62,
2432                                  "column": 10
2433                                },
2434                                "end": {
2435                                  "line": 62,
2436                                  "column": 15
2437                                }
2438                              }
2439                            },
2440                            "property": {
2441                              "type": "Identifier",
2442                              "name": "Red",
2443                              "decorators": [],
2444                              "loc": {
2445                                "start": {
2446                                  "line": 62,
2447                                  "column": 16
2448                                },
2449                                "end": {
2450                                  "line": 62,
2451                                  "column": 19
2452                                }
2453                              }
2454                            },
2455                            "computed": false,
2456                            "optional": false,
2457                            "loc": {
2458                              "start": {
2459                                "line": 62,
2460                                "column": 10
2461                              },
2462                              "end": {
2463                                "line": 62,
2464                                "column": 19
2465                              }
2466                            }
2467                          },
2468                          "consequent": [
2469                            {
2470                              "type": "AssertStatement",
2471                              "test": {
2472                                "type": "BooleanLiteral",
2473                                "value": false,
2474                                "loc": {
2475                                  "start": {
2476                                    "line": 63,
2477                                    "column": 14
2478                                  },
2479                                  "end": {
2480                                    "line": 63,
2481                                    "column": 19
2482                                  }
2483                                }
2484                              },
2485                              "second": null,
2486                              "loc": {
2487                                "start": {
2488                                  "line": 63,
2489                                  "column": 7
2490                                },
2491                                "end": {
2492                                  "line": 63,
2493                                  "column": 20
2494                                }
2495                              }
2496                            },
2497                            {
2498                              "type": "BreakStatement",
2499                              "label": null,
2500                              "loc": {
2501                                "start": {
2502                                  "line": 64,
2503                                  "column": 7
2504                                },
2505                                "end": {
2506                                  "line": 64,
2507                                  "column": 13
2508                                }
2509                              }
2510                            }
2511                          ],
2512                          "loc": {
2513                            "start": {
2514                              "line": 62,
2515                              "column": 5
2516                            },
2517                            "end": {
2518                              "line": 64,
2519                              "column": 13
2520                            }
2521                          }
2522                        },
2523                        {
2524                          "type": "SwitchCase",
2525                          "test": {
2526                            "type": "MemberExpression",
2527                            "object": {
2528                              "type": "Identifier",
2529                              "name": "Color",
2530                              "decorators": [],
2531                              "loc": {
2532                                "start": {
2533                                  "line": 65,
2534                                  "column": 10
2535                                },
2536                                "end": {
2537                                  "line": 65,
2538                                  "column": 15
2539                                }
2540                              }
2541                            },
2542                            "property": {
2543                              "type": "Identifier",
2544                              "name": "Blue",
2545                              "decorators": [],
2546                              "loc": {
2547                                "start": {
2548                                  "line": 65,
2549                                  "column": 16
2550                                },
2551                                "end": {
2552                                  "line": 65,
2553                                  "column": 20
2554                                }
2555                              }
2556                            },
2557                            "computed": false,
2558                            "optional": false,
2559                            "loc": {
2560                              "start": {
2561                                "line": 65,
2562                                "column": 10
2563                              },
2564                              "end": {
2565                                "line": 65,
2566                                "column": 20
2567                              }
2568                            }
2569                          },
2570                          "consequent": [
2571                            {
2572                              "type": "AssertStatement",
2573                              "test": {
2574                                "type": "BooleanLiteral",
2575                                "value": true,
2576                                "loc": {
2577                                  "start": {
2578                                    "line": 66,
2579                                    "column": 14
2580                                  },
2581                                  "end": {
2582                                    "line": 66,
2583                                    "column": 18
2584                                  }
2585                                }
2586                              },
2587                              "second": null,
2588                              "loc": {
2589                                "start": {
2590                                  "line": 66,
2591                                  "column": 7
2592                                },
2593                                "end": {
2594                                  "line": 66,
2595                                  "column": 19
2596                                }
2597                              }
2598                            },
2599                            {
2600                              "type": "BreakStatement",
2601                              "label": null,
2602                              "loc": {
2603                                "start": {
2604                                  "line": 67,
2605                                  "column": 7
2606                                },
2607                                "end": {
2608                                  "line": 67,
2609                                  "column": 13
2610                                }
2611                              }
2612                            }
2613                          ],
2614                          "loc": {
2615                            "start": {
2616                              "line": 65,
2617                              "column": 5
2618                            },
2619                            "end": {
2620                              "line": 67,
2621                              "column": 13
2622                            }
2623                          }
2624                        },
2625                        {
2626                          "type": "SwitchCase",
2627                          "test": null,
2628                          "consequent": [
2629                            {
2630                              "type": "AssertStatement",
2631                              "test": {
2632                                "type": "BooleanLiteral",
2633                                "value": false,
2634                                "loc": {
2635                                  "start": {
2636                                    "line": 69,
2637                                    "column": 14
2638                                  },
2639                                  "end": {
2640                                    "line": 69,
2641                                    "column": 19
2642                                  }
2643                                }
2644                              },
2645                              "second": null,
2646                              "loc": {
2647                                "start": {
2648                                  "line": 69,
2649                                  "column": 7
2650                                },
2651                                "end": {
2652                                  "line": 69,
2653                                  "column": 20
2654                                }
2655                              }
2656                            }
2657                          ],
2658                          "loc": {
2659                            "start": {
2660                              "line": 68,
2661                              "column": 5
2662                            },
2663                            "end": {
2664                              "line": 69,
2665                              "column": 20
2666                            }
2667                          }
2668                        }
2669                      ],
2670                      "loc": {
2671                        "start": {
2672                          "line": 60,
2673                          "column": 3
2674                        },
2675                        "end": {
2676                          "line": 70,
2677                          "column": 4
2678                        }
2679                      }
2680                    }
2681                  ],
2682                  "loc": {
2683                    "start": {
2684                      "line": 33,
2685                      "column": 23
2686                    },
2687                    "end": {
2688                      "line": 71,
2689                      "column": 2
2690                    }
2691                  }
2692                },
2693                "loc": {
2694                  "start": {
2695                    "line": 33,
2696                    "column": 10
2697                  },
2698                  "end": {
2699                    "line": 71,
2700                    "column": 2
2701                  }
2702                }
2703              },
2704              "loc": {
2705                "start": {
2706                  "line": 33,
2707                  "column": 10
2708                },
2709                "end": {
2710                  "line": 71,
2711                  "column": 2
2712                }
2713              }
2714            },
2715            "overloads": [],
2716            "decorators": [],
2717            "loc": {
2718              "start": {
2719                "line": 33,
2720                "column": 1
2721              },
2722              "end": {
2723                "line": 71,
2724                "column": 2
2725              }
2726            }
2727          }
2728        ],
2729        "loc": {
2730          "start": {
2731            "line": 1,
2732            "column": 1
2733          },
2734          "end": {
2735            "line": 1,
2736            "column": 1
2737          }
2738        }
2739      },
2740      "loc": {
2741        "start": {
2742          "line": 1,
2743          "column": 1
2744        },
2745        "end": {
2746          "line": 1,
2747          "column": 1
2748        }
2749      }
2750    },
2751    {
2752      "type": "ClassDeclaration",
2753      "definition": {
2754        "id": {
2755          "type": "Identifier",
2756          "name": "#Color",
2757          "decorators": [],
2758          "loc": {
2759            "start": {
2760              "line": 1,
2761              "column": 1
2762            },
2763            "end": {
2764              "line": 1,
2765              "column": 1
2766            }
2767          }
2768        },
2769        "superClass": null,
2770        "implements": [],
2771        "body": [
2772          {
2773            "type": "ClassProperty",
2774            "key": {
2775              "type": "Identifier",
2776              "name": "ordinal",
2777              "decorators": [],
2778              "loc": {
2779                "start": {
2780                  "line": 1,
2781                  "column": 1
2782                },
2783                "end": {
2784                  "line": 1,
2785                  "column": 1
2786                }
2787              }
2788            },
2789            "accessibility": "protected",
2790            "static": false,
2791            "readonly": false,
2792            "declare": false,
2793            "optional": false,
2794            "computed": false,
2795            "typeAnnotation": {
2796              "type": "ETSPrimitiveType",
2797              "loc": {
2798                "start": {
2799                  "line": 1,
2800                  "column": 1
2801                },
2802                "end": {
2803                  "line": 1,
2804                  "column": 1
2805                }
2806              }
2807            },
2808            "definite": false,
2809            "decorators": [],
2810            "loc": {
2811              "start": {
2812                "line": 1,
2813                "column": 1
2814              },
2815              "end": {
2816                "line": 1,
2817                "column": 1
2818              }
2819            }
2820          },
2821          {
2822            "type": "MethodDefinition",
2823            "key": {
2824              "type": "Identifier",
2825              "name": "<cctor>",
2826              "decorators": [],
2827              "loc": {
2828                "start": {
2829                  "line": 1,
2830                  "column": 1
2831                },
2832                "end": {
2833                  "line": 1,
2834                  "column": 1
2835                }
2836              }
2837            },
2838            "kind": "method",
2839            "accessibility": "public",
2840            "static": true,
2841            "optional": false,
2842            "computed": false,
2843            "value": {
2844              "type": "FunctionExpression",
2845              "function": {
2846                "type": "ScriptFunction",
2847                "id": {
2848                  "type": "Identifier",
2849                  "name": "<cctor>",
2850                  "decorators": [],
2851                  "loc": {
2852                    "start": {
2853                      "line": 1,
2854                      "column": 1
2855                    },
2856                    "end": {
2857                      "line": 1,
2858                      "column": 1
2859                    }
2860                  }
2861                },
2862                "generator": false,
2863                "async": false,
2864                "expression": false,
2865                "params": [],
2866                "body": {
2867                  "type": "BlockStatement",
2868                  "statements": [],
2869                  "loc": {
2870                    "start": {
2871                      "line": 1,
2872                      "column": 1
2873                    },
2874                    "end": {
2875                      "line": 1,
2876                      "column": 1
2877                    }
2878                  }
2879                },
2880                "loc": {
2881                  "start": {
2882                    "line": 1,
2883                    "column": 1
2884                  },
2885                  "end": {
2886                    "line": 1,
2887                    "column": 1
2888                  }
2889                }
2890              },
2891              "loc": {
2892                "start": {
2893                  "line": 1,
2894                  "column": 1
2895                },
2896                "end": {
2897                  "line": 1,
2898                  "column": 1
2899                }
2900              }
2901            },
2902            "overloads": [],
2903            "decorators": [],
2904            "loc": {
2905              "start": {
2906                "line": 1,
2907                "column": 1
2908              },
2909              "end": {
2910                "line": 1,
2911                "column": 1
2912              }
2913            }
2914          },
2915          {
2916            "type": "MethodDefinition",
2917            "key": {
2918              "type": "Identifier",
2919              "name": "constructor",
2920              "decorators": [],
2921              "loc": {
2922                "start": {
2923                  "line": 1,
2924                  "column": 1
2925                },
2926                "end": {
2927                  "line": 1,
2928                  "column": 1
2929                }
2930              }
2931            },
2932            "kind": "constructor",
2933            "accessibility": "public",
2934            "static": false,
2935            "optional": false,
2936            "computed": false,
2937            "value": {
2938              "type": "FunctionExpression",
2939              "function": {
2940                "type": "ScriptFunction",
2941                "id": {
2942                  "type": "Identifier",
2943                  "name": "constructor",
2944                  "decorators": [],
2945                  "loc": {
2946                    "start": {
2947                      "line": 1,
2948                      "column": 1
2949                    },
2950                    "end": {
2951                      "line": 1,
2952                      "column": 1
2953                    }
2954                  }
2955                },
2956                "generator": false,
2957                "async": false,
2958                "expression": false,
2959                "params": [
2960                  {
2961                    "type": "ETSParameterExpression",
2962                    "name": {
2963                      "type": "Identifier",
2964                      "name": "ordinal",
2965                      "typeAnnotation": {
2966                        "type": "ETSPrimitiveType",
2967                        "loc": {
2968                          "start": {
2969                            "line": 1,
2970                            "column": 1
2971                          },
2972                          "end": {
2973                            "line": 1,
2974                            "column": 1
2975                          }
2976                        }
2977                      },
2978                      "decorators": [],
2979                      "loc": {
2980                        "start": {
2981                          "line": 1,
2982                          "column": 1
2983                        },
2984                        "end": {
2985                          "line": 1,
2986                          "column": 1
2987                        }
2988                      }
2989                    },
2990                    "loc": {
2991                      "start": {
2992                        "line": 1,
2993                        "column": 1
2994                      },
2995                      "end": {
2996                        "line": 1,
2997                        "column": 1
2998                      }
2999                    }
3000                  }
3001                ],
3002                "body": {
3003                  "type": "BlockStatement",
3004                  "statements": [
3005                    {
3006                      "type": "ExpressionStatement",
3007                      "expression": {
3008                        "type": "AssignmentExpression",
3009                        "operator": "=",
3010                        "left": {
3011                          "type": "MemberExpression",
3012                          "object": {
3013                            "type": "ThisExpression",
3014                            "loc": {
3015                              "start": {
3016                                "line": 1,
3017                                "column": 1
3018                              },
3019                              "end": {
3020                                "line": 1,
3021                                "column": 1
3022                              }
3023                            }
3024                          },
3025                          "property": {
3026                            "type": "Identifier",
3027                            "name": "ordinal",
3028                            "decorators": [],
3029                            "loc": {
3030                              "start": {
3031                                "line": 1,
3032                                "column": 1
3033                              },
3034                              "end": {
3035                                "line": 1,
3036                                "column": 1
3037                              }
3038                            }
3039                          },
3040                          "computed": false,
3041                          "optional": false,
3042                          "loc": {
3043                            "start": {
3044                              "line": 1,
3045                              "column": 1
3046                            },
3047                            "end": {
3048                              "line": 1,
3049                              "column": 1
3050                            }
3051                          }
3052                        },
3053                        "right": {
3054                          "type": "Identifier",
3055                          "name": "ordinal",
3056                          "decorators": [],
3057                          "loc": {
3058                            "start": {
3059                              "line": 1,
3060                              "column": 1
3061                            },
3062                            "end": {
3063                              "line": 1,
3064                              "column": 1
3065                            }
3066                          }
3067                        },
3068                        "loc": {
3069                          "start": {
3070                            "line": 1,
3071                            "column": 1
3072                          },
3073                          "end": {
3074                            "line": 1,
3075                            "column": 1
3076                          }
3077                        }
3078                      },
3079                      "loc": {
3080                        "start": {
3081                          "line": 1,
3082                          "column": 1
3083                        },
3084                        "end": {
3085                          "line": 1,
3086                          "column": 1
3087                        }
3088                      }
3089                    }
3090                  ],
3091                  "loc": {
3092                    "start": {
3093                      "line": 1,
3094                      "column": 1
3095                    },
3096                    "end": {
3097                      "line": 1,
3098                      "column": 1
3099                    }
3100                  }
3101                },
3102                "loc": {
3103                  "start": {
3104                    "line": 1,
3105                    "column": 1
3106                  },
3107                  "end": {
3108                    "line": 1,
3109                    "column": 1
3110                  }
3111                }
3112              },
3113              "loc": {
3114                "start": {
3115                  "line": 1,
3116                  "column": 1
3117                },
3118                "end": {
3119                  "line": 1,
3120                  "column": 1
3121                }
3122              }
3123            },
3124            "overloads": [],
3125            "decorators": [],
3126            "loc": {
3127              "start": {
3128                "line": 1,
3129                "column": 1
3130              },
3131              "end": {
3132                "line": 1,
3133                "column": 1
3134              }
3135            }
3136          },
3137          {
3138            "type": "ClassProperty",
3139            "key": {
3140              "type": "Identifier",
3141              "name": "NamesArray",
3142              "decorators": [],
3143              "loc": {
3144                "start": {
3145                  "line": 1,
3146                  "column": 1
3147                },
3148                "end": {
3149                  "line": 1,
3150                  "column": 1
3151                }
3152              }
3153            },
3154            "value": {
3155              "type": "ArrayExpression",
3156              "elements": [
3157                {
3158                  "type": "StringLiteral",
3159                  "value": "Red",
3160                  "loc": {
3161                    "start": {
3162                      "line": 1,
3163                      "column": 1
3164                    },
3165                    "end": {
3166                      "line": 1,
3167                      "column": 1
3168                    }
3169                  }
3170                },
3171                {
3172                  "type": "StringLiteral",
3173                  "value": "Green",
3174                  "loc": {
3175                    "start": {
3176                      "line": 1,
3177                      "column": 1
3178                    },
3179                    "end": {
3180                      "line": 1,
3181                      "column": 1
3182                    }
3183                  }
3184                },
3185                {
3186                  "type": "StringLiteral",
3187                  "value": "Blue",
3188                  "loc": {
3189                    "start": {
3190                      "line": 1,
3191                      "column": 1
3192                    },
3193                    "end": {
3194                      "line": 1,
3195                      "column": 1
3196                    }
3197                  }
3198                }
3199              ],
3200              "loc": {
3201                "start": {
3202                  "line": 1,
3203                  "column": 1
3204                },
3205                "end": {
3206                  "line": 1,
3207                  "column": 1
3208                }
3209              }
3210            },
3211            "accessibility": "protected",
3212            "static": true,
3213            "readonly": true,
3214            "declare": false,
3215            "optional": false,
3216            "computed": false,
3217            "typeAnnotation": {
3218              "type": "TSArrayType",
3219              "elementType": {
3220                "type": "ETSTypeReference",
3221                "part": {
3222                  "type": "ETSTypeReferencePart",
3223                  "name": {
3224                    "type": "Identifier",
3225                    "name": "String",
3226                    "decorators": [],
3227                    "loc": {
3228                      "start": {
3229                        "line": 1,
3230                        "column": 1
3231                      },
3232                      "end": {
3233                        "line": 1,
3234                        "column": 1
3235                      }
3236                    }
3237                  },
3238                  "loc": {
3239                    "start": {
3240                      "line": 1,
3241                      "column": 1
3242                    },
3243                    "end": {
3244                      "line": 1,
3245                      "column": 1
3246                    }
3247                  }
3248                },
3249                "loc": {
3250                  "start": {
3251                    "line": 1,
3252                    "column": 1
3253                  },
3254                  "end": {
3255                    "line": 1,
3256                    "column": 1
3257                  }
3258                }
3259              },
3260              "loc": {
3261                "start": {
3262                  "line": 1,
3263                  "column": 1
3264                },
3265                "end": {
3266                  "line": 1,
3267                  "column": 1
3268                }
3269              }
3270            },
3271            "definite": false,
3272            "decorators": [],
3273            "loc": {
3274              "start": {
3275                "line": 1,
3276                "column": 1
3277              },
3278              "end": {
3279                "line": 1,
3280                "column": 1
3281              }
3282            }
3283          },
3284          {
3285            "type": "ClassProperty",
3286            "key": {
3287              "type": "Identifier",
3288              "name": "ValuesArray",
3289              "decorators": [],
3290              "loc": {
3291                "start": {
3292                  "line": 1,
3293                  "column": 1
3294                },
3295                "end": {
3296                  "line": 1,
3297                  "column": 1
3298                }
3299              }
3300            },
3301            "value": {
3302              "type": "ArrayExpression",
3303              "elements": [
3304                {
3305                  "type": "NumberLiteral",
3306                  "value": 0,
3307                  "loc": {
3308                    "start": {
3309                      "line": 1,
3310                      "column": 1
3311                    },
3312                    "end": {
3313                      "line": 1,
3314                      "column": 1
3315                    }
3316                  }
3317                },
3318                {
3319                  "type": "NumberLiteral",
3320                  "value": 1,
3321                  "loc": {
3322                    "start": {
3323                      "line": 1,
3324                      "column": 1
3325                    },
3326                    "end": {
3327                      "line": 1,
3328                      "column": 1
3329                    }
3330                  }
3331                },
3332                {
3333                  "type": "NumberLiteral",
3334                  "value": 2,
3335                  "loc": {
3336                    "start": {
3337                      "line": 1,
3338                      "column": 1
3339                    },
3340                    "end": {
3341                      "line": 1,
3342                      "column": 1
3343                    }
3344                  }
3345                }
3346              ],
3347              "loc": {
3348                "start": {
3349                  "line": 1,
3350                  "column": 1
3351                },
3352                "end": {
3353                  "line": 1,
3354                  "column": 1
3355                }
3356              }
3357            },
3358            "accessibility": "protected",
3359            "static": true,
3360            "readonly": true,
3361            "declare": false,
3362            "optional": false,
3363            "computed": false,
3364            "typeAnnotation": {
3365              "type": "TSArrayType",
3366              "elementType": {
3367                "type": "ETSPrimitiveType",
3368                "loc": {
3369                  "start": {
3370                    "line": 1,
3371                    "column": 1
3372                  },
3373                  "end": {
3374                    "line": 1,
3375                    "column": 1
3376                  }
3377                }
3378              },
3379              "loc": {
3380                "start": {
3381                  "line": 1,
3382                  "column": 1
3383                },
3384                "end": {
3385                  "line": 1,
3386                  "column": 1
3387                }
3388              }
3389            },
3390            "definite": false,
3391            "decorators": [],
3392            "loc": {
3393              "start": {
3394                "line": 1,
3395                "column": 1
3396              },
3397              "end": {
3398                "line": 1,
3399                "column": 1
3400              }
3401            }
3402          },
3403          {
3404            "type": "ClassProperty",
3405            "key": {
3406              "type": "Identifier",
3407              "name": "StringValuesArray",
3408              "decorators": [],
3409              "loc": {
3410                "start": {
3411                  "line": 1,
3412                  "column": 1
3413                },
3414                "end": {
3415                  "line": 1,
3416                  "column": 1
3417                }
3418              }
3419            },
3420            "value": {
3421              "type": "ArrayExpression",
3422              "elements": [
3423                {
3424                  "type": "StringLiteral",
3425                  "value": "0",
3426                  "loc": {
3427                    "start": {
3428                      "line": 1,
3429                      "column": 1
3430                    },
3431                    "end": {
3432                      "line": 1,
3433                      "column": 1
3434                    }
3435                  }
3436                },
3437                {
3438                  "type": "StringLiteral",
3439                  "value": "1",
3440                  "loc": {
3441                    "start": {
3442                      "line": 1,
3443                      "column": 1
3444                    },
3445                    "end": {
3446                      "line": 1,
3447                      "column": 1
3448                    }
3449                  }
3450                },
3451                {
3452                  "type": "StringLiteral",
3453                  "value": "2",
3454                  "loc": {
3455                    "start": {
3456                      "line": 1,
3457                      "column": 1
3458                    },
3459                    "end": {
3460                      "line": 1,
3461                      "column": 1
3462                    }
3463                  }
3464                }
3465              ],
3466              "loc": {
3467                "start": {
3468                  "line": 1,
3469                  "column": 1
3470                },
3471                "end": {
3472                  "line": 1,
3473                  "column": 1
3474                }
3475              }
3476            },
3477            "accessibility": "protected",
3478            "static": true,
3479            "readonly": true,
3480            "declare": false,
3481            "optional": false,
3482            "computed": false,
3483            "typeAnnotation": {
3484              "type": "TSArrayType",
3485              "elementType": {
3486                "type": "ETSTypeReference",
3487                "part": {
3488                  "type": "ETSTypeReferencePart",
3489                  "name": {
3490                    "type": "Identifier",
3491                    "name": "String",
3492                    "decorators": [],
3493                    "loc": {
3494                      "start": {
3495                        "line": 1,
3496                        "column": 1
3497                      },
3498                      "end": {
3499                        "line": 1,
3500                        "column": 1
3501                      }
3502                    }
3503                  },
3504                  "loc": {
3505                    "start": {
3506                      "line": 1,
3507                      "column": 1
3508                    },
3509                    "end": {
3510                      "line": 1,
3511                      "column": 1
3512                    }
3513                  }
3514                },
3515                "loc": {
3516                  "start": {
3517                    "line": 1,
3518                    "column": 1
3519                  },
3520                  "end": {
3521                    "line": 1,
3522                    "column": 1
3523                  }
3524                }
3525              },
3526              "loc": {
3527                "start": {
3528                  "line": 1,
3529                  "column": 1
3530                },
3531                "end": {
3532                  "line": 1,
3533                  "column": 1
3534                }
3535              }
3536            },
3537            "definite": false,
3538            "decorators": [],
3539            "loc": {
3540              "start": {
3541                "line": 1,
3542                "column": 1
3543              },
3544              "end": {
3545                "line": 1,
3546                "column": 1
3547              }
3548            }
3549          },
3550          {
3551            "type": "ClassProperty",
3552            "key": {
3553              "type": "Identifier",
3554              "name": "ItemsArray",
3555              "decorators": [],
3556              "loc": {
3557                "start": {
3558                  "line": 1,
3559                  "column": 1
3560                },
3561                "end": {
3562                  "line": 1,
3563                  "column": 1
3564                }
3565              }
3566            },
3567            "value": {
3568              "type": "ArrayExpression",
3569              "elements": [
3570                {
3571                  "type": "MemberExpression",
3572                  "object": {
3573                    "type": "Identifier",
3574                    "name": "Color",
3575                    "decorators": [],
3576                    "loc": {
3577                      "start": {
3578                        "line": 1,
3579                        "column": 1
3580                      },
3581                      "end": {
3582                        "line": 1,
3583                        "column": 1
3584                      }
3585                    }
3586                  },
3587                  "property": {
3588                    "type": "Identifier",
3589                    "name": "Red",
3590                    "decorators": [],
3591                    "loc": {
3592                      "start": {
3593                        "line": 1,
3594                        "column": 1
3595                      },
3596                      "end": {
3597                        "line": 1,
3598                        "column": 1
3599                      }
3600                    }
3601                  },
3602                  "computed": false,
3603                  "optional": false,
3604                  "loc": {
3605                    "start": {
3606                      "line": 1,
3607                      "column": 1
3608                    },
3609                    "end": {
3610                      "line": 1,
3611                      "column": 1
3612                    }
3613                  }
3614                },
3615                {
3616                  "type": "MemberExpression",
3617                  "object": {
3618                    "type": "Identifier",
3619                    "name": "Color",
3620                    "decorators": [],
3621                    "loc": {
3622                      "start": {
3623                        "line": 1,
3624                        "column": 1
3625                      },
3626                      "end": {
3627                        "line": 1,
3628                        "column": 1
3629                      }
3630                    }
3631                  },
3632                  "property": {
3633                    "type": "Identifier",
3634                    "name": "Green",
3635                    "decorators": [],
3636                    "loc": {
3637                      "start": {
3638                        "line": 1,
3639                        "column": 1
3640                      },
3641                      "end": {
3642                        "line": 1,
3643                        "column": 1
3644                      }
3645                    }
3646                  },
3647                  "computed": false,
3648                  "optional": false,
3649                  "loc": {
3650                    "start": {
3651                      "line": 1,
3652                      "column": 1
3653                    },
3654                    "end": {
3655                      "line": 1,
3656                      "column": 1
3657                    }
3658                  }
3659                },
3660                {
3661                  "type": "MemberExpression",
3662                  "object": {
3663                    "type": "Identifier",
3664                    "name": "Color",
3665                    "decorators": [],
3666                    "loc": {
3667                      "start": {
3668                        "line": 1,
3669                        "column": 1
3670                      },
3671                      "end": {
3672                        "line": 1,
3673                        "column": 1
3674                      }
3675                    }
3676                  },
3677                  "property": {
3678                    "type": "Identifier",
3679                    "name": "Blue",
3680                    "decorators": [],
3681                    "loc": {
3682                      "start": {
3683                        "line": 1,
3684                        "column": 1
3685                      },
3686                      "end": {
3687                        "line": 1,
3688                        "column": 1
3689                      }
3690                    }
3691                  },
3692                  "computed": false,
3693                  "optional": false,
3694                  "loc": {
3695                    "start": {
3696                      "line": 1,
3697                      "column": 1
3698                    },
3699                    "end": {
3700                      "line": 1,
3701                      "column": 1
3702                    }
3703                  }
3704                }
3705              ],
3706              "loc": {
3707                "start": {
3708                  "line": 1,
3709                  "column": 1
3710                },
3711                "end": {
3712                  "line": 1,
3713                  "column": 1
3714                }
3715              }
3716            },
3717            "accessibility": "protected",
3718            "static": true,
3719            "readonly": true,
3720            "declare": false,
3721            "optional": false,
3722            "computed": false,
3723            "typeAnnotation": {
3724              "type": "TSArrayType",
3725              "elementType": {
3726                "type": "ETSTypeReference",
3727                "part": {
3728                  "type": "ETSTypeReferencePart",
3729                  "name": {
3730                    "type": "Identifier",
3731                    "name": "Color",
3732                    "decorators": [],
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              "loc": {
3767                "start": {
3768                  "line": 1,
3769                  "column": 1
3770                },
3771                "end": {
3772                  "line": 1,
3773                  "column": 1
3774                }
3775              }
3776            },
3777            "definite": false,
3778            "decorators": [],
3779            "loc": {
3780              "start": {
3781                "line": 1,
3782                "column": 1
3783              },
3784              "end": {
3785                "line": 1,
3786                "column": 1
3787              }
3788            }
3789          },
3790          {
3791            "type": "ClassProperty",
3792            "key": {
3793              "type": "Identifier",
3794              "name": "BoxedItemsArray",
3795              "decorators": [],
3796              "loc": {
3797                "start": {
3798                  "line": 1,
3799                  "column": 1
3800                },
3801                "end": {
3802                  "line": 1,
3803                  "column": 1
3804                }
3805              }
3806            },
3807            "value": {
3808              "type": "ArrayExpression",
3809              "elements": [
3810                {
3811                  "type": "ETSNewClassInstanceExpression",
3812                  "typeReference": {
3813                    "type": "ETSTypeReference",
3814                    "part": {
3815                      "type": "ETSTypeReferencePart",
3816                      "name": {
3817                        "type": "Identifier",
3818                        "name": "#Color",
3819                        "decorators": [],
3820                        "loc": {
3821                          "start": {
3822                            "line": 1,
3823                            "column": 1
3824                          },
3825                          "end": {
3826                            "line": 1,
3827                            "column": 1
3828                          }
3829                        }
3830                      },
3831                      "loc": {
3832                        "start": {
3833                          "line": 1,
3834                          "column": 1
3835                        },
3836                        "end": {
3837                          "line": 1,
3838                          "column": 1
3839                        }
3840                      }
3841                    },
3842                    "loc": {
3843                      "start": {
3844                        "line": 1,
3845                        "column": 1
3846                      },
3847                      "end": {
3848                        "line": 1,
3849                        "column": 1
3850                      }
3851                    }
3852                  },
3853                  "arguments": [
3854                    {
3855                      "type": "TSAsExpression",
3856                      "expression": {
3857                        "type": "MemberExpression",
3858                        "object": {
3859                          "type": "Identifier",
3860                          "name": "Color",
3861                          "decorators": [],
3862                          "loc": {
3863                            "start": {
3864                              "line": 1,
3865                              "column": 1
3866                            },
3867                            "end": {
3868                              "line": 1,
3869                              "column": 1
3870                            }
3871                          }
3872                        },
3873                        "property": {
3874                          "type": "Identifier",
3875                          "name": "Red",
3876                          "decorators": [],
3877                          "loc": {
3878                            "start": {
3879                              "line": 1,
3880                              "column": 1
3881                            },
3882                            "end": {
3883                              "line": 1,
3884                              "column": 1
3885                            }
3886                          }
3887                        },
3888                        "computed": false,
3889                        "optional": false,
3890                        "loc": {
3891                          "start": {
3892                            "line": 1,
3893                            "column": 1
3894                          },
3895                          "end": {
3896                            "line": 1,
3897                            "column": 1
3898                          }
3899                        }
3900                      },
3901                      "typeAnnotation": {
3902                        "type": "ETSPrimitiveType",
3903                        "loc": {
3904                          "start": {
3905                            "line": 1,
3906                            "column": 1
3907                          },
3908                          "end": {
3909                            "line": 1,
3910                            "column": 1
3911                          }
3912                        }
3913                      },
3914                      "loc": {
3915                        "start": {
3916                          "line": 1,
3917                          "column": 1
3918                        },
3919                        "end": {
3920                          "line": 1,
3921                          "column": 1
3922                        }
3923                      }
3924                    }
3925                  ],
3926                  "loc": {
3927                    "start": {
3928                      "line": 1,
3929                      "column": 1
3930                    },
3931                    "end": {
3932                      "line": 1,
3933                      "column": 1
3934                    }
3935                  }
3936                },
3937                {
3938                  "type": "ETSNewClassInstanceExpression",
3939                  "typeReference": {
3940                    "type": "ETSTypeReference",
3941                    "part": {
3942                      "type": "ETSTypeReferencePart",
3943                      "name": {
3944                        "type": "Identifier",
3945                        "name": "#Color",
3946                        "decorators": [],
3947                        "loc": {
3948                          "start": {
3949                            "line": 1,
3950                            "column": 1
3951                          },
3952                          "end": {
3953                            "line": 1,
3954                            "column": 1
3955                          }
3956                        }
3957                      },
3958                      "loc": {
3959                        "start": {
3960                          "line": 1,
3961                          "column": 1
3962                        },
3963                        "end": {
3964                          "line": 1,
3965                          "column": 1
3966                        }
3967                      }
3968                    },
3969                    "loc": {
3970                      "start": {
3971                        "line": 1,
3972                        "column": 1
3973                      },
3974                      "end": {
3975                        "line": 1,
3976                        "column": 1
3977                      }
3978                    }
3979                  },
3980                  "arguments": [
3981                    {
3982                      "type": "TSAsExpression",
3983                      "expression": {
3984                        "type": "MemberExpression",
3985                        "object": {
3986                          "type": "Identifier",
3987                          "name": "Color",
3988                          "decorators": [],
3989                          "loc": {
3990                            "start": {
3991                              "line": 1,
3992                              "column": 1
3993                            },
3994                            "end": {
3995                              "line": 1,
3996                              "column": 1
3997                            }
3998                          }
3999                        },
4000                        "property": {
4001                          "type": "Identifier",
4002                          "name": "Green",
4003                          "decorators": [],
4004                          "loc": {
4005                            "start": {
4006                              "line": 1,
4007                              "column": 1
4008                            },
4009                            "end": {
4010                              "line": 1,
4011                              "column": 1
4012                            }
4013                          }
4014                        },
4015                        "computed": false,
4016                        "optional": false,
4017                        "loc": {
4018                          "start": {
4019                            "line": 1,
4020                            "column": 1
4021                          },
4022                          "end": {
4023                            "line": 1,
4024                            "column": 1
4025                          }
4026                        }
4027                      },
4028                      "typeAnnotation": {
4029                        "type": "ETSPrimitiveType",
4030                        "loc": {
4031                          "start": {
4032                            "line": 1,
4033                            "column": 1
4034                          },
4035                          "end": {
4036                            "line": 1,
4037                            "column": 1
4038                          }
4039                        }
4040                      },
4041                      "loc": {
4042                        "start": {
4043                          "line": 1,
4044                          "column": 1
4045                        },
4046                        "end": {
4047                          "line": 1,
4048                          "column": 1
4049                        }
4050                      }
4051                    }
4052                  ],
4053                  "loc": {
4054                    "start": {
4055                      "line": 1,
4056                      "column": 1
4057                    },
4058                    "end": {
4059                      "line": 1,
4060                      "column": 1
4061                    }
4062                  }
4063                },
4064                {
4065                  "type": "ETSNewClassInstanceExpression",
4066                  "typeReference": {
4067                    "type": "ETSTypeReference",
4068                    "part": {
4069                      "type": "ETSTypeReferencePart",
4070                      "name": {
4071                        "type": "Identifier",
4072                        "name": "#Color",
4073                        "decorators": [],
4074                        "loc": {
4075                          "start": {
4076                            "line": 1,
4077                            "column": 1
4078                          },
4079                          "end": {
4080                            "line": 1,
4081                            "column": 1
4082                          }
4083                        }
4084                      },
4085                      "loc": {
4086                        "start": {
4087                          "line": 1,
4088                          "column": 1
4089                        },
4090                        "end": {
4091                          "line": 1,
4092                          "column": 1
4093                        }
4094                      }
4095                    },
4096                    "loc": {
4097                      "start": {
4098                        "line": 1,
4099                        "column": 1
4100                      },
4101                      "end": {
4102                        "line": 1,
4103                        "column": 1
4104                      }
4105                    }
4106                  },
4107                  "arguments": [
4108                    {
4109                      "type": "TSAsExpression",
4110                      "expression": {
4111                        "type": "MemberExpression",
4112                        "object": {
4113                          "type": "Identifier",
4114                          "name": "Color",
4115                          "decorators": [],
4116                          "loc": {
4117                            "start": {
4118                              "line": 1,
4119                              "column": 1
4120                            },
4121                            "end": {
4122                              "line": 1,
4123                              "column": 1
4124                            }
4125                          }
4126                        },
4127                        "property": {
4128                          "type": "Identifier",
4129                          "name": "Blue",
4130                          "decorators": [],
4131                          "loc": {
4132                            "start": {
4133                              "line": 1,
4134                              "column": 1
4135                            },
4136                            "end": {
4137                              "line": 1,
4138                              "column": 1
4139                            }
4140                          }
4141                        },
4142                        "computed": false,
4143                        "optional": false,
4144                        "loc": {
4145                          "start": {
4146                            "line": 1,
4147                            "column": 1
4148                          },
4149                          "end": {
4150                            "line": 1,
4151                            "column": 1
4152                          }
4153                        }
4154                      },
4155                      "typeAnnotation": {
4156                        "type": "ETSPrimitiveType",
4157                        "loc": {
4158                          "start": {
4159                            "line": 1,
4160                            "column": 1
4161                          },
4162                          "end": {
4163                            "line": 1,
4164                            "column": 1
4165                          }
4166                        }
4167                      },
4168                      "loc": {
4169                        "start": {
4170                          "line": 1,
4171                          "column": 1
4172                        },
4173                        "end": {
4174                          "line": 1,
4175                          "column": 1
4176                        }
4177                      }
4178                    }
4179                  ],
4180                  "loc": {
4181                    "start": {
4182                      "line": 1,
4183                      "column": 1
4184                    },
4185                    "end": {
4186                      "line": 1,
4187                      "column": 1
4188                    }
4189                  }
4190                }
4191              ],
4192              "loc": {
4193                "start": {
4194                  "line": 1,
4195                  "column": 1
4196                },
4197                "end": {
4198                  "line": 1,
4199                  "column": 1
4200                }
4201              }
4202            },
4203            "accessibility": "protected",
4204            "static": true,
4205            "readonly": true,
4206            "declare": false,
4207            "optional": false,
4208            "computed": false,
4209            "typeAnnotation": {
4210              "type": "TSArrayType",
4211              "elementType": {
4212                "type": "ETSTypeReference",
4213                "part": {
4214                  "type": "ETSTypeReferencePart",
4215                  "name": {
4216                    "type": "Identifier",
4217                    "name": "#Color",
4218                    "decorators": [],
4219                    "loc": {
4220                      "start": {
4221                        "line": 1,
4222                        "column": 1
4223                      },
4224                      "end": {
4225                        "line": 1,
4226                        "column": 1
4227                      }
4228                    }
4229                  },
4230                  "loc": {
4231                    "start": {
4232                      "line": 1,
4233                      "column": 1
4234                    },
4235                    "end": {
4236                      "line": 1,
4237                      "column": 1
4238                    }
4239                  }
4240                },
4241                "loc": {
4242                  "start": {
4243                    "line": 1,
4244                    "column": 1
4245                  },
4246                  "end": {
4247                    "line": 1,
4248                    "column": 1
4249                  }
4250                }
4251              },
4252              "loc": {
4253                "start": {
4254                  "line": 1,
4255                  "column": 1
4256                },
4257                "end": {
4258                  "line": 1,
4259                  "column": 1
4260                }
4261              }
4262            },
4263            "definite": false,
4264            "decorators": [],
4265            "loc": {
4266              "start": {
4267                "line": 1,
4268                "column": 1
4269              },
4270              "end": {
4271                "line": 1,
4272                "column": 1
4273              }
4274            }
4275          },
4276          {
4277            "type": "MethodDefinition",
4278            "key": {
4279              "type": "Identifier",
4280              "name": "getName",
4281              "decorators": [],
4282              "loc": {
4283                "start": {
4284                  "line": 1,
4285                  "column": 1
4286                },
4287                "end": {
4288                  "line": 1,
4289                  "column": 1
4290                }
4291              }
4292            },
4293            "kind": "method",
4294            "accessibility": "public",
4295            "static": true,
4296            "optional": false,
4297            "computed": false,
4298            "value": {
4299              "type": "FunctionExpression",
4300              "function": {
4301                "type": "ScriptFunction",
4302                "id": {
4303                  "type": "Identifier",
4304                  "name": "getName",
4305                  "decorators": [],
4306                  "loc": {
4307                    "start": {
4308                      "line": 1,
4309                      "column": 1
4310                    },
4311                    "end": {
4312                      "line": 1,
4313                      "column": 1
4314                    }
4315                  }
4316                },
4317                "generator": false,
4318                "async": false,
4319                "expression": false,
4320                "params": [
4321                  {
4322                    "type": "ETSParameterExpression",
4323                    "name": {
4324                      "type": "Identifier",
4325                      "name": "ordinal",
4326                      "typeAnnotation": {
4327                        "type": "ETSTypeReference",
4328                        "part": {
4329                          "type": "ETSTypeReferencePart",
4330                          "name": {
4331                            "type": "Identifier",
4332                            "name": "Color",
4333                            "decorators": [],
4334                            "loc": {
4335                              "start": {
4336                                "line": 1,
4337                                "column": 1
4338                              },
4339                              "end": {
4340                                "line": 1,
4341                                "column": 1
4342                              }
4343                            }
4344                          },
4345                          "loc": {
4346                            "start": {
4347                              "line": 1,
4348                              "column": 1
4349                            },
4350                            "end": {
4351                              "line": 1,
4352                              "column": 1
4353                            }
4354                          }
4355                        },
4356                        "loc": {
4357                          "start": {
4358                            "line": 1,
4359                            "column": 1
4360                          },
4361                          "end": {
4362                            "line": 1,
4363                            "column": 1
4364                          }
4365                        }
4366                      },
4367                      "decorators": [],
4368                      "loc": {
4369                        "start": {
4370                          "line": 1,
4371                          "column": 1
4372                        },
4373                        "end": {
4374                          "line": 1,
4375                          "column": 1
4376                        }
4377                      }
4378                    },
4379                    "loc": {
4380                      "start": {
4381                        "line": 1,
4382                        "column": 1
4383                      },
4384                      "end": {
4385                        "line": 1,
4386                        "column": 1
4387                      }
4388                    }
4389                  }
4390                ],
4391                "returnType": {
4392                  "type": "ETSTypeReference",
4393                  "part": {
4394                    "type": "ETSTypeReferencePart",
4395                    "name": {
4396                      "type": "Identifier",
4397                      "name": "String",
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                    "loc": {
4411                      "start": {
4412                        "line": 1,
4413                        "column": 1
4414                      },
4415                      "end": {
4416                        "line": 1,
4417                        "column": 1
4418                      }
4419                    }
4420                  },
4421                  "loc": {
4422                    "start": {
4423                      "line": 1,
4424                      "column": 1
4425                    },
4426                    "end": {
4427                      "line": 1,
4428                      "column": 1
4429                    }
4430                  }
4431                },
4432                "body": {
4433                  "type": "BlockStatement",
4434                  "statements": [
4435                    {
4436                      "type": "ReturnStatement",
4437                      "argument": {
4438                        "type": "MemberExpression",
4439                        "object": {
4440                          "type": "MemberExpression",
4441                          "object": {
4442                            "type": "Identifier",
4443                            "name": "#Color",
4444                            "decorators": [],
4445                            "loc": {
4446                              "start": {
4447                                "line": 1,
4448                                "column": 1
4449                              },
4450                              "end": {
4451                                "line": 1,
4452                                "column": 1
4453                              }
4454                            }
4455                          },
4456                          "property": {
4457                            "type": "Identifier",
4458                            "name": "NamesArray",
4459                            "decorators": [],
4460                            "loc": {
4461                              "start": {
4462                                "line": 1,
4463                                "column": 1
4464                              },
4465                              "end": {
4466                                "line": 1,
4467                                "column": 1
4468                              }
4469                            }
4470                          },
4471                          "computed": false,
4472                          "optional": false,
4473                          "loc": {
4474                            "start": {
4475                              "line": 1,
4476                              "column": 1
4477                            },
4478                            "end": {
4479                              "line": 1,
4480                              "column": 1
4481                            }
4482                          }
4483                        },
4484                        "property": {
4485                          "type": "TSAsExpression",
4486                          "expression": {
4487                            "type": "Identifier",
4488                            "name": "ordinal",
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                          "typeAnnotation": {
4502                            "type": "ETSPrimitiveType",
4503                            "loc": {
4504                              "start": {
4505                                "line": 1,
4506                                "column": 1
4507                              },
4508                              "end": {
4509                                "line": 1,
4510                                "column": 1
4511                              }
4512                            }
4513                          },
4514                          "loc": {
4515                            "start": {
4516                              "line": 1,
4517                              "column": 1
4518                            },
4519                            "end": {
4520                              "line": 1,
4521                              "column": 1
4522                            }
4523                          }
4524                        },
4525                        "computed": true,
4526                        "optional": false,
4527                        "loc": {
4528                          "start": {
4529                            "line": 1,
4530                            "column": 1
4531                          },
4532                          "end": {
4533                            "line": 1,
4534                            "column": 1
4535                          }
4536                        }
4537                      },
4538                      "loc": {
4539                        "start": {
4540                          "line": 1,
4541                          "column": 1
4542                        },
4543                        "end": {
4544                          "line": 1,
4545                          "column": 1
4546                        }
4547                      }
4548                    }
4549                  ],
4550                  "loc": {
4551                    "start": {
4552                      "line": 1,
4553                      "column": 1
4554                    },
4555                    "end": {
4556                      "line": 1,
4557                      "column": 1
4558                    }
4559                  }
4560                },
4561                "loc": {
4562                  "start": {
4563                    "line": 1,
4564                    "column": 1
4565                  },
4566                  "end": {
4567                    "line": 1,
4568                    "column": 1
4569                  }
4570                }
4571              },
4572              "loc": {
4573                "start": {
4574                  "line": 1,
4575                  "column": 1
4576                },
4577                "end": {
4578                  "line": 1,
4579                  "column": 1
4580                }
4581              }
4582            },
4583            "overloads": [],
4584            "decorators": [],
4585            "loc": {
4586              "start": {
4587                "line": 1,
4588                "column": 1
4589              },
4590              "end": {
4591                "line": 1,
4592                "column": 1
4593              }
4594            }
4595          },
4596          {
4597            "type": "MethodDefinition",
4598            "key": {
4599              "type": "Identifier",
4600              "name": "getValueOf",
4601              "decorators": [],
4602              "loc": {
4603                "start": {
4604                  "line": 1,
4605                  "column": 1
4606                },
4607                "end": {
4608                  "line": 1,
4609                  "column": 1
4610                }
4611              }
4612            },
4613            "kind": "method",
4614            "accessibility": "public",
4615            "static": true,
4616            "optional": false,
4617            "computed": false,
4618            "value": {
4619              "type": "FunctionExpression",
4620              "function": {
4621                "type": "ScriptFunction",
4622                "id": {
4623                  "type": "Identifier",
4624                  "name": "getValueOf",
4625                  "decorators": [],
4626                  "loc": {
4627                    "start": {
4628                      "line": 1,
4629                      "column": 1
4630                    },
4631                    "end": {
4632                      "line": 1,
4633                      "column": 1
4634                    }
4635                  }
4636                },
4637                "generator": false,
4638                "async": false,
4639                "expression": false,
4640                "params": [
4641                  {
4642                    "type": "ETSParameterExpression",
4643                    "name": {
4644                      "type": "Identifier",
4645                      "name": "name",
4646                      "typeAnnotation": {
4647                        "type": "ETSTypeReference",
4648                        "part": {
4649                          "type": "ETSTypeReferencePart",
4650                          "name": {
4651                            "type": "Identifier",
4652                            "name": "String",
4653                            "decorators": [],
4654                            "loc": {
4655                              "start": {
4656                                "line": 1,
4657                                "column": 1
4658                              },
4659                              "end": {
4660                                "line": 1,
4661                                "column": 1
4662                              }
4663                            }
4664                          },
4665                          "loc": {
4666                            "start": {
4667                              "line": 1,
4668                              "column": 1
4669                            },
4670                            "end": {
4671                              "line": 1,
4672                              "column": 1
4673                            }
4674                          }
4675                        },
4676                        "loc": {
4677                          "start": {
4678                            "line": 1,
4679                            "column": 1
4680                          },
4681                          "end": {
4682                            "line": 1,
4683                            "column": 1
4684                          }
4685                        }
4686                      },
4687                      "decorators": [],
4688                      "loc": {
4689                        "start": {
4690                          "line": 1,
4691                          "column": 1
4692                        },
4693                        "end": {
4694                          "line": 1,
4695                          "column": 1
4696                        }
4697                      }
4698                    },
4699                    "loc": {
4700                      "start": {
4701                        "line": 1,
4702                        "column": 1
4703                      },
4704                      "end": {
4705                        "line": 1,
4706                        "column": 1
4707                      }
4708                    }
4709                  }
4710                ],
4711                "returnType": {
4712                  "type": "ETSTypeReference",
4713                  "part": {
4714                    "type": "ETSTypeReferencePart",
4715                    "name": {
4716                      "type": "Identifier",
4717                      "name": "Color",
4718                      "decorators": [],
4719                      "loc": {
4720                        "start": {
4721                          "line": 1,
4722                          "column": 1
4723                        },
4724                        "end": {
4725                          "line": 1,
4726                          "column": 1
4727                        }
4728                      }
4729                    },
4730                    "loc": {
4731                      "start": {
4732                        "line": 1,
4733                        "column": 1
4734                      },
4735                      "end": {
4736                        "line": 1,
4737                        "column": 1
4738                      }
4739                    }
4740                  },
4741                  "loc": {
4742                    "start": {
4743                      "line": 1,
4744                      "column": 1
4745                    },
4746                    "end": {
4747                      "line": 1,
4748                      "column": 1
4749                    }
4750                  }
4751                },
4752                "body": {
4753                  "type": "BlockStatement",
4754                  "statements": [
4755                    {
4756                      "type": "ForUpdateStatement",
4757                      "init": {
4758                        "type": "VariableDeclaration",
4759                        "declarations": [
4760                          {
4761                            "type": "VariableDeclarator",
4762                            "id": {
4763                              "type": "Identifier",
4764                              "name": "i",
4765                              "decorators": [],
4766                              "loc": {
4767                                "start": {
4768                                  "line": 1,
4769                                  "column": 1
4770                                },
4771                                "end": {
4772                                  "line": 1,
4773                                  "column": 1
4774                                }
4775                              }
4776                            },
4777                            "init": {
4778                              "type": "NumberLiteral",
4779                              "value": 0,
4780                              "loc": {
4781                                "start": {
4782                                  "line": 1,
4783                                  "column": 1
4784                                },
4785                                "end": {
4786                                  "line": 1,
4787                                  "column": 1
4788                                }
4789                              }
4790                            },
4791                            "loc": {
4792                              "start": {
4793                                "line": 1,
4794                                "column": 1
4795                              },
4796                              "end": {
4797                                "line": 1,
4798                                "column": 1
4799                              }
4800                            }
4801                          }
4802                        ],
4803                        "kind": "let",
4804                        "loc": {
4805                          "start": {
4806                            "line": 1,
4807                            "column": 1
4808                          },
4809                          "end": {
4810                            "line": 1,
4811                            "column": 1
4812                          }
4813                        }
4814                      },
4815                      "test": {
4816                        "type": "BinaryExpression",
4817                        "operator": "<",
4818                        "left": {
4819                          "type": "Identifier",
4820                          "name": "i",
4821                          "decorators": [],
4822                          "loc": {
4823                            "start": {
4824                              "line": 1,
4825                              "column": 1
4826                            },
4827                            "end": {
4828                              "line": 1,
4829                              "column": 1
4830                            }
4831                          }
4832                        },
4833                        "right": {
4834                          "type": "MemberExpression",
4835                          "object": {
4836                            "type": "MemberExpression",
4837                            "object": {
4838                              "type": "Identifier",
4839                              "name": "#Color",
4840                              "decorators": [],
4841                              "loc": {
4842                                "start": {
4843                                  "line": 1,
4844                                  "column": 1
4845                                },
4846                                "end": {
4847                                  "line": 1,
4848                                  "column": 1
4849                                }
4850                              }
4851                            },
4852                            "property": {
4853                              "type": "Identifier",
4854                              "name": "NamesArray",
4855                              "decorators": [],
4856                              "loc": {
4857                                "start": {
4858                                  "line": 1,
4859                                  "column": 1
4860                                },
4861                                "end": {
4862                                  "line": 1,
4863                                  "column": 1
4864                                }
4865                              }
4866                            },
4867                            "computed": false,
4868                            "optional": false,
4869                            "loc": {
4870                              "start": {
4871                                "line": 1,
4872                                "column": 1
4873                              },
4874                              "end": {
4875                                "line": 1,
4876                                "column": 1
4877                              }
4878                            }
4879                          },
4880                          "property": {
4881                            "type": "Identifier",
4882                            "name": "length",
4883                            "decorators": [],
4884                            "loc": {
4885                              "start": {
4886                                "line": 1,
4887                                "column": 1
4888                              },
4889                              "end": {
4890                                "line": 1,
4891                                "column": 1
4892                              }
4893                            }
4894                          },
4895                          "computed": false,
4896                          "optional": false,
4897                          "loc": {
4898                            "start": {
4899                              "line": 1,
4900                              "column": 1
4901                            },
4902                            "end": {
4903                              "line": 1,
4904                              "column": 1
4905                            }
4906                          }
4907                        },
4908                        "loc": {
4909                          "start": {
4910                            "line": 1,
4911                            "column": 1
4912                          },
4913                          "end": {
4914                            "line": 1,
4915                            "column": 1
4916                          }
4917                        }
4918                      },
4919                      "update": {
4920                        "type": "UpdateExpression",
4921                        "operator": "++",
4922                        "prefix": true,
4923                        "argument": {
4924                          "type": "Identifier",
4925                          "name": "i",
4926                          "decorators": [],
4927                          "loc": {
4928                            "start": {
4929                              "line": 1,
4930                              "column": 1
4931                            },
4932                            "end": {
4933                              "line": 1,
4934                              "column": 1
4935                            }
4936                          }
4937                        },
4938                        "loc": {
4939                          "start": {
4940                            "line": 1,
4941                            "column": 1
4942                          },
4943                          "end": {
4944                            "line": 1,
4945                            "column": 1
4946                          }
4947                        }
4948                      },
4949                      "body": {
4950                        "type": "IfStatement",
4951                        "test": {
4952                          "type": "BinaryExpression",
4953                          "operator": "==",
4954                          "left": {
4955                            "type": "Identifier",
4956                            "name": "name",
4957                            "decorators": [],
4958                            "loc": {
4959                              "start": {
4960                                "line": 1,
4961                                "column": 1
4962                              },
4963                              "end": {
4964                                "line": 1,
4965                                "column": 1
4966                              }
4967                            }
4968                          },
4969                          "right": {
4970                            "type": "MemberExpression",
4971                            "object": {
4972                              "type": "MemberExpression",
4973                              "object": {
4974                                "type": "Identifier",
4975                                "name": "#Color",
4976                                "decorators": [],
4977                                "loc": {
4978                                  "start": {
4979                                    "line": 1,
4980                                    "column": 1
4981                                  },
4982                                  "end": {
4983                                    "line": 1,
4984                                    "column": 1
4985                                  }
4986                                }
4987                              },
4988                              "property": {
4989                                "type": "Identifier",
4990                                "name": "NamesArray",
4991                                "decorators": [],
4992                                "loc": {
4993                                  "start": {
4994                                    "line": 1,
4995                                    "column": 1
4996                                  },
4997                                  "end": {
4998                                    "line": 1,
4999                                    "column": 1
5000                                  }
5001                                }
5002                              },
5003                              "computed": false,
5004                              "optional": false,
5005                              "loc": {
5006                                "start": {
5007                                  "line": 1,
5008                                  "column": 1
5009                                },
5010                                "end": {
5011                                  "line": 1,
5012                                  "column": 1
5013                                }
5014                              }
5015                            },
5016                            "property": {
5017                              "type": "Identifier",
5018                              "name": "i",
5019                              "decorators": [],
5020                              "loc": {
5021                                "start": {
5022                                  "line": 1,
5023                                  "column": 1
5024                                },
5025                                "end": {
5026                                  "line": 1,
5027                                  "column": 1
5028                                }
5029                              }
5030                            },
5031                            "computed": true,
5032                            "optional": false,
5033                            "loc": {
5034                              "start": {
5035                                "line": 1,
5036                                "column": 1
5037                              },
5038                              "end": {
5039                                "line": 1,
5040                                "column": 1
5041                              }
5042                            }
5043                          },
5044                          "loc": {
5045                            "start": {
5046                              "line": 1,
5047                              "column": 1
5048                            },
5049                            "end": {
5050                              "line": 1,
5051                              "column": 1
5052                            }
5053                          }
5054                        },
5055                        "consequent": {
5056                          "type": "ReturnStatement",
5057                          "argument": {
5058                            "type": "TSAsExpression",
5059                            "expression": {
5060                              "type": "Identifier",
5061                              "name": "i",
5062                              "decorators": [],
5063                              "loc": {
5064                                "start": {
5065                                  "line": 1,
5066                                  "column": 1
5067                                },
5068                                "end": {
5069                                  "line": 1,
5070                                  "column": 1
5071                                }
5072                              }
5073                            },
5074                            "typeAnnotation": {
5075                              "type": "ETSTypeReference",
5076                              "part": {
5077                                "type": "ETSTypeReferencePart",
5078                                "name": {
5079                                  "type": "Identifier",
5080                                  "name": "Color",
5081                                  "decorators": [],
5082                                  "loc": {
5083                                    "start": {
5084                                      "line": 1,
5085                                      "column": 1
5086                                    },
5087                                    "end": {
5088                                      "line": 1,
5089                                      "column": 1
5090                                    }
5091                                  }
5092                                },
5093                                "loc": {
5094                                  "start": {
5095                                    "line": 1,
5096                                    "column": 1
5097                                  },
5098                                  "end": {
5099                                    "line": 1,
5100                                    "column": 1
5101                                  }
5102                                }
5103                              },
5104                              "loc": {
5105                                "start": {
5106                                  "line": 1,
5107                                  "column": 1
5108                                },
5109                                "end": {
5110                                  "line": 1,
5111                                  "column": 1
5112                                }
5113                              }
5114                            },
5115                            "loc": {
5116                              "start": {
5117                                "line": 1,
5118                                "column": 1
5119                              },
5120                              "end": {
5121                                "line": 1,
5122                                "column": 1
5123                              }
5124                            }
5125                          },
5126                          "loc": {
5127                            "start": {
5128                              "line": 1,
5129                              "column": 1
5130                            },
5131                            "end": {
5132                              "line": 1,
5133                              "column": 1
5134                            }
5135                          }
5136                        },
5137                        "alternate": null,
5138                        "loc": {
5139                          "start": {
5140                            "line": 1,
5141                            "column": 1
5142                          },
5143                          "end": {
5144                            "line": 1,
5145                            "column": 1
5146                          }
5147                        }
5148                      },
5149                      "loc": {
5150                        "start": {
5151                          "line": 1,
5152                          "column": 1
5153                        },
5154                        "end": {
5155                          "line": 1,
5156                          "column": 1
5157                        }
5158                      }
5159                    },
5160                    {
5161                      "type": "ThrowStatement",
5162                      "argument": {
5163                        "type": "ETSNewClassInstanceExpression",
5164                        "typeReference": {
5165                          "type": "ETSTypeReference",
5166                          "part": {
5167                            "type": "ETSTypeReferencePart",
5168                            "name": {
5169                              "type": "Identifier",
5170                              "name": "Exception",
5171                              "decorators": [],
5172                              "loc": {
5173                                "start": {
5174                                  "line": 1,
5175                                  "column": 1
5176                                },
5177                                "end": {
5178                                  "line": 1,
5179                                  "column": 1
5180                                }
5181                              }
5182                            },
5183                            "loc": {
5184                              "start": {
5185                                "line": 1,
5186                                "column": 1
5187                              },
5188                              "end": {
5189                                "line": 1,
5190                                "column": 1
5191                              }
5192                            }
5193                          },
5194                          "loc": {
5195                            "start": {
5196                              "line": 1,
5197                              "column": 1
5198                            },
5199                            "end": {
5200                              "line": 1,
5201                              "column": 1
5202                            }
5203                          }
5204                        },
5205                        "arguments": [
5206                          {
5207                            "type": "BinaryExpression",
5208                            "operator": "+",
5209                            "left": {
5210                              "type": "StringLiteral",
5211                              "value": "No enum constant Color.",
5212                              "loc": {
5213                                "start": {
5214                                  "line": 1,
5215                                  "column": 1
5216                                },
5217                                "end": {
5218                                  "line": 1,
5219                                  "column": 1
5220                                }
5221                              }
5222                            },
5223                            "right": {
5224                              "type": "Identifier",
5225                              "name": "name",
5226                              "decorators": [],
5227                              "loc": {
5228                                "start": {
5229                                  "line": 1,
5230                                  "column": 1
5231                                },
5232                                "end": {
5233                                  "line": 1,
5234                                  "column": 1
5235                                }
5236                              }
5237                            },
5238                            "loc": {
5239                              "start": {
5240                                "line": 1,
5241                                "column": 1
5242                              },
5243                              "end": {
5244                                "line": 1,
5245                                "column": 1
5246                              }
5247                            }
5248                          }
5249                        ],
5250                        "loc": {
5251                          "start": {
5252                            "line": 1,
5253                            "column": 1
5254                          },
5255                          "end": {
5256                            "line": 1,
5257                            "column": 1
5258                          }
5259                        }
5260                      },
5261                      "loc": {
5262                        "start": {
5263                          "line": 1,
5264                          "column": 1
5265                        },
5266                        "end": {
5267                          "line": 1,
5268                          "column": 1
5269                        }
5270                      }
5271                    }
5272                  ],
5273                  "loc": {
5274                    "start": {
5275                      "line": 1,
5276                      "column": 1
5277                    },
5278                    "end": {
5279                      "line": 1,
5280                      "column": 1
5281                    }
5282                  }
5283                },
5284                "throwMarker": "throws",
5285                "loc": {
5286                  "start": {
5287                    "line": 1,
5288                    "column": 1
5289                  },
5290                  "end": {
5291                    "line": 1,
5292                    "column": 1
5293                  }
5294                }
5295              },
5296              "loc": {
5297                "start": {
5298                  "line": 1,
5299                  "column": 1
5300                },
5301                "end": {
5302                  "line": 1,
5303                  "column": 1
5304                }
5305              }
5306            },
5307            "overloads": [],
5308            "decorators": [],
5309            "loc": {
5310              "start": {
5311                "line": 1,
5312                "column": 1
5313              },
5314              "end": {
5315                "line": 1,
5316                "column": 1
5317              }
5318            }
5319          },
5320          {
5321            "type": "MethodDefinition",
5322            "key": {
5323              "type": "Identifier",
5324              "name": "valueOf",
5325              "decorators": [],
5326              "loc": {
5327                "start": {
5328                  "line": 1,
5329                  "column": 1
5330                },
5331                "end": {
5332                  "line": 1,
5333                  "column": 1
5334                }
5335              }
5336            },
5337            "kind": "method",
5338            "accessibility": "public",
5339            "static": true,
5340            "optional": false,
5341            "computed": false,
5342            "value": {
5343              "type": "FunctionExpression",
5344              "function": {
5345                "type": "ScriptFunction",
5346                "id": {
5347                  "type": "Identifier",
5348                  "name": "valueOf",
5349                  "decorators": [],
5350                  "loc": {
5351                    "start": {
5352                      "line": 1,
5353                      "column": 1
5354                    },
5355                    "end": {
5356                      "line": 1,
5357                      "column": 1
5358                    }
5359                  }
5360                },
5361                "generator": false,
5362                "async": false,
5363                "expression": false,
5364                "params": [
5365                  {
5366                    "type": "ETSParameterExpression",
5367                    "name": {
5368                      "type": "Identifier",
5369                      "name": "e",
5370                      "typeAnnotation": {
5371                        "type": "ETSTypeReference",
5372                        "part": {
5373                          "type": "ETSTypeReferencePart",
5374                          "name": {
5375                            "type": "Identifier",
5376                            "name": "Color",
5377                            "decorators": [],
5378                            "loc": {
5379                              "start": {
5380                                "line": 1,
5381                                "column": 1
5382                              },
5383                              "end": {
5384                                "line": 1,
5385                                "column": 1
5386                              }
5387                            }
5388                          },
5389                          "loc": {
5390                            "start": {
5391                              "line": 1,
5392                              "column": 1
5393                            },
5394                            "end": {
5395                              "line": 1,
5396                              "column": 1
5397                            }
5398                          }
5399                        },
5400                        "loc": {
5401                          "start": {
5402                            "line": 1,
5403                            "column": 1
5404                          },
5405                          "end": {
5406                            "line": 1,
5407                            "column": 1
5408                          }
5409                        }
5410                      },
5411                      "decorators": [],
5412                      "loc": {
5413                        "start": {
5414                          "line": 1,
5415                          "column": 1
5416                        },
5417                        "end": {
5418                          "line": 1,
5419                          "column": 1
5420                        }
5421                      }
5422                    },
5423                    "loc": {
5424                      "start": {
5425                        "line": 1,
5426                        "column": 1
5427                      },
5428                      "end": {
5429                        "line": 1,
5430                        "column": 1
5431                      }
5432                    }
5433                  }
5434                ],
5435                "returnType": {
5436                  "type": "ETSPrimitiveType",
5437                  "loc": {
5438                    "start": {
5439                      "line": 1,
5440                      "column": 1
5441                    },
5442                    "end": {
5443                      "line": 1,
5444                      "column": 1
5445                    }
5446                  }
5447                },
5448                "body": {
5449                  "type": "BlockStatement",
5450                  "statements": [
5451                    {
5452                      "type": "ReturnStatement",
5453                      "argument": {
5454                        "type": "MemberExpression",
5455                        "object": {
5456                          "type": "MemberExpression",
5457                          "object": {
5458                            "type": "Identifier",
5459                            "name": "#Color",
5460                            "decorators": [],
5461                            "loc": {
5462                              "start": {
5463                                "line": 1,
5464                                "column": 1
5465                              },
5466                              "end": {
5467                                "line": 1,
5468                                "column": 1
5469                              }
5470                            }
5471                          },
5472                          "property": {
5473                            "type": "Identifier",
5474                            "name": "ValuesArray",
5475                            "decorators": [],
5476                            "loc": {
5477                              "start": {
5478                                "line": 1,
5479                                "column": 1
5480                              },
5481                              "end": {
5482                                "line": 1,
5483                                "column": 1
5484                              }
5485                            }
5486                          },
5487                          "computed": false,
5488                          "optional": false,
5489                          "loc": {
5490                            "start": {
5491                              "line": 1,
5492                              "column": 1
5493                            },
5494                            "end": {
5495                              "line": 1,
5496                              "column": 1
5497                            }
5498                          }
5499                        },
5500                        "property": {
5501                          "type": "TSAsExpression",
5502                          "expression": {
5503                            "type": "Identifier",
5504                            "name": "e",
5505                            "decorators": [],
5506                            "loc": {
5507                              "start": {
5508                                "line": 1,
5509                                "column": 1
5510                              },
5511                              "end": {
5512                                "line": 1,
5513                                "column": 1
5514                              }
5515                            }
5516                          },
5517                          "typeAnnotation": {
5518                            "type": "ETSPrimitiveType",
5519                            "loc": {
5520                              "start": {
5521                                "line": 1,
5522                                "column": 1
5523                              },
5524                              "end": {
5525                                "line": 1,
5526                                "column": 1
5527                              }
5528                            }
5529                          },
5530                          "loc": {
5531                            "start": {
5532                              "line": 1,
5533                              "column": 1
5534                            },
5535                            "end": {
5536                              "line": 1,
5537                              "column": 1
5538                            }
5539                          }
5540                        },
5541                        "computed": true,
5542                        "optional": false,
5543                        "loc": {
5544                          "start": {
5545                            "line": 1,
5546                            "column": 1
5547                          },
5548                          "end": {
5549                            "line": 1,
5550                            "column": 1
5551                          }
5552                        }
5553                      },
5554                      "loc": {
5555                        "start": {
5556                          "line": 1,
5557                          "column": 1
5558                        },
5559                        "end": {
5560                          "line": 1,
5561                          "column": 1
5562                        }
5563                      }
5564                    }
5565                  ],
5566                  "loc": {
5567                    "start": {
5568                      "line": 1,
5569                      "column": 1
5570                    },
5571                    "end": {
5572                      "line": 1,
5573                      "column": 1
5574                    }
5575                  }
5576                },
5577                "loc": {
5578                  "start": {
5579                    "line": 1,
5580                    "column": 1
5581                  },
5582                  "end": {
5583                    "line": 1,
5584                    "column": 1
5585                  }
5586                }
5587              },
5588              "loc": {
5589                "start": {
5590                  "line": 1,
5591                  "column": 1
5592                },
5593                "end": {
5594                  "line": 1,
5595                  "column": 1
5596                }
5597              }
5598            },
5599            "overloads": [],
5600            "decorators": [],
5601            "loc": {
5602              "start": {
5603                "line": 1,
5604                "column": 1
5605              },
5606              "end": {
5607                "line": 1,
5608                "column": 1
5609              }
5610            }
5611          },
5612          {
5613            "type": "MethodDefinition",
5614            "key": {
5615              "type": "Identifier",
5616              "name": "toString",
5617              "decorators": [],
5618              "loc": {
5619                "start": {
5620                  "line": 1,
5621                  "column": 1
5622                },
5623                "end": {
5624                  "line": 1,
5625                  "column": 1
5626                }
5627              }
5628            },
5629            "kind": "method",
5630            "accessibility": "public",
5631            "static": true,
5632            "optional": false,
5633            "computed": false,
5634            "value": {
5635              "type": "FunctionExpression",
5636              "function": {
5637                "type": "ScriptFunction",
5638                "id": {
5639                  "type": "Identifier",
5640                  "name": "toString",
5641                  "decorators": [],
5642                  "loc": {
5643                    "start": {
5644                      "line": 1,
5645                      "column": 1
5646                    },
5647                    "end": {
5648                      "line": 1,
5649                      "column": 1
5650                    }
5651                  }
5652                },
5653                "generator": false,
5654                "async": false,
5655                "expression": false,
5656                "params": [
5657                  {
5658                    "type": "ETSParameterExpression",
5659                    "name": {
5660                      "type": "Identifier",
5661                      "name": "ordinal",
5662                      "typeAnnotation": {
5663                        "type": "ETSTypeReference",
5664                        "part": {
5665                          "type": "ETSTypeReferencePart",
5666                          "name": {
5667                            "type": "Identifier",
5668                            "name": "Color",
5669                            "decorators": [],
5670                            "loc": {
5671                              "start": {
5672                                "line": 1,
5673                                "column": 1
5674                              },
5675                              "end": {
5676                                "line": 1,
5677                                "column": 1
5678                              }
5679                            }
5680                          },
5681                          "loc": {
5682                            "start": {
5683                              "line": 1,
5684                              "column": 1
5685                            },
5686                            "end": {
5687                              "line": 1,
5688                              "column": 1
5689                            }
5690                          }
5691                        },
5692                        "loc": {
5693                          "start": {
5694                            "line": 1,
5695                            "column": 1
5696                          },
5697                          "end": {
5698                            "line": 1,
5699                            "column": 1
5700                          }
5701                        }
5702                      },
5703                      "decorators": [],
5704                      "loc": {
5705                        "start": {
5706                          "line": 1,
5707                          "column": 1
5708                        },
5709                        "end": {
5710                          "line": 1,
5711                          "column": 1
5712                        }
5713                      }
5714                    },
5715                    "loc": {
5716                      "start": {
5717                        "line": 1,
5718                        "column": 1
5719                      },
5720                      "end": {
5721                        "line": 1,
5722                        "column": 1
5723                      }
5724                    }
5725                  }
5726                ],
5727                "returnType": {
5728                  "type": "ETSTypeReference",
5729                  "part": {
5730                    "type": "ETSTypeReferencePart",
5731                    "name": {
5732                      "type": "Identifier",
5733                      "name": "String",
5734                      "decorators": [],
5735                      "loc": {
5736                        "start": {
5737                          "line": 1,
5738                          "column": 1
5739                        },
5740                        "end": {
5741                          "line": 1,
5742                          "column": 1
5743                        }
5744                      }
5745                    },
5746                    "loc": {
5747                      "start": {
5748                        "line": 1,
5749                        "column": 1
5750                      },
5751                      "end": {
5752                        "line": 1,
5753                        "column": 1
5754                      }
5755                    }
5756                  },
5757                  "loc": {
5758                    "start": {
5759                      "line": 1,
5760                      "column": 1
5761                    },
5762                    "end": {
5763                      "line": 1,
5764                      "column": 1
5765                    }
5766                  }
5767                },
5768                "body": {
5769                  "type": "BlockStatement",
5770                  "statements": [
5771                    {
5772                      "type": "ReturnStatement",
5773                      "argument": {
5774                        "type": "MemberExpression",
5775                        "object": {
5776                          "type": "MemberExpression",
5777                          "object": {
5778                            "type": "Identifier",
5779                            "name": "#Color",
5780                            "decorators": [],
5781                            "loc": {
5782                              "start": {
5783                                "line": 1,
5784                                "column": 1
5785                              },
5786                              "end": {
5787                                "line": 1,
5788                                "column": 1
5789                              }
5790                            }
5791                          },
5792                          "property": {
5793                            "type": "Identifier",
5794                            "name": "StringValuesArray",
5795                            "decorators": [],
5796                            "loc": {
5797                              "start": {
5798                                "line": 1,
5799                                "column": 1
5800                              },
5801                              "end": {
5802                                "line": 1,
5803                                "column": 1
5804                              }
5805                            }
5806                          },
5807                          "computed": false,
5808                          "optional": false,
5809                          "loc": {
5810                            "start": {
5811                              "line": 1,
5812                              "column": 1
5813                            },
5814                            "end": {
5815                              "line": 1,
5816                              "column": 1
5817                            }
5818                          }
5819                        },
5820                        "property": {
5821                          "type": "TSAsExpression",
5822                          "expression": {
5823                            "type": "Identifier",
5824                            "name": "ordinal",
5825                            "decorators": [],
5826                            "loc": {
5827                              "start": {
5828                                "line": 1,
5829                                "column": 1
5830                              },
5831                              "end": {
5832                                "line": 1,
5833                                "column": 1
5834                              }
5835                            }
5836                          },
5837                          "typeAnnotation": {
5838                            "type": "ETSPrimitiveType",
5839                            "loc": {
5840                              "start": {
5841                                "line": 1,
5842                                "column": 1
5843                              },
5844                              "end": {
5845                                "line": 1,
5846                                "column": 1
5847                              }
5848                            }
5849                          },
5850                          "loc": {
5851                            "start": {
5852                              "line": 1,
5853                              "column": 1
5854                            },
5855                            "end": {
5856                              "line": 1,
5857                              "column": 1
5858                            }
5859                          }
5860                        },
5861                        "computed": true,
5862                        "optional": false,
5863                        "loc": {
5864                          "start": {
5865                            "line": 1,
5866                            "column": 1
5867                          },
5868                          "end": {
5869                            "line": 1,
5870                            "column": 1
5871                          }
5872                        }
5873                      },
5874                      "loc": {
5875                        "start": {
5876                          "line": 1,
5877                          "column": 1
5878                        },
5879                        "end": {
5880                          "line": 1,
5881                          "column": 1
5882                        }
5883                      }
5884                    }
5885                  ],
5886                  "loc": {
5887                    "start": {
5888                      "line": 1,
5889                      "column": 1
5890                    },
5891                    "end": {
5892                      "line": 1,
5893                      "column": 1
5894                    }
5895                  }
5896                },
5897                "loc": {
5898                  "start": {
5899                    "line": 1,
5900                    "column": 1
5901                  },
5902                  "end": {
5903                    "line": 1,
5904                    "column": 1
5905                  }
5906                }
5907              },
5908              "loc": {
5909                "start": {
5910                  "line": 1,
5911                  "column": 1
5912                },
5913                "end": {
5914                  "line": 1,
5915                  "column": 1
5916                }
5917              }
5918            },
5919            "overloads": [],
5920            "decorators": [],
5921            "loc": {
5922              "start": {
5923                "line": 1,
5924                "column": 1
5925              },
5926              "end": {
5927                "line": 1,
5928                "column": 1
5929              }
5930            }
5931          },
5932          {
5933            "type": "MethodDefinition",
5934            "key": {
5935              "type": "Identifier",
5936              "name": "values",
5937              "decorators": [],
5938              "loc": {
5939                "start": {
5940                  "line": 1,
5941                  "column": 1
5942                },
5943                "end": {
5944                  "line": 1,
5945                  "column": 1
5946                }
5947              }
5948            },
5949            "kind": "method",
5950            "accessibility": "public",
5951            "static": true,
5952            "optional": false,
5953            "computed": false,
5954            "value": {
5955              "type": "FunctionExpression",
5956              "function": {
5957                "type": "ScriptFunction",
5958                "id": {
5959                  "type": "Identifier",
5960                  "name": "values",
5961                  "decorators": [],
5962                  "loc": {
5963                    "start": {
5964                      "line": 1,
5965                      "column": 1
5966                    },
5967                    "end": {
5968                      "line": 1,
5969                      "column": 1
5970                    }
5971                  }
5972                },
5973                "generator": false,
5974                "async": false,
5975                "expression": false,
5976                "params": [],
5977                "returnType": {
5978                  "type": "TSArrayType",
5979                  "elementType": {
5980                    "type": "ETSTypeReference",
5981                    "part": {
5982                      "type": "ETSTypeReferencePart",
5983                      "name": {
5984                        "type": "Identifier",
5985                        "name": "Color",
5986                        "decorators": [],
5987                        "loc": {
5988                          "start": {
5989                            "line": 1,
5990                            "column": 1
5991                          },
5992                          "end": {
5993                            "line": 1,
5994                            "column": 1
5995                          }
5996                        }
5997                      },
5998                      "loc": {
5999                        "start": {
6000                          "line": 1,
6001                          "column": 1
6002                        },
6003                        "end": {
6004                          "line": 1,
6005                          "column": 1
6006                        }
6007                      }
6008                    },
6009                    "loc": {
6010                      "start": {
6011                        "line": 1,
6012                        "column": 1
6013                      },
6014                      "end": {
6015                        "line": 1,
6016                        "column": 1
6017                      }
6018                    }
6019                  },
6020                  "loc": {
6021                    "start": {
6022                      "line": 1,
6023                      "column": 1
6024                    },
6025                    "end": {
6026                      "line": 1,
6027                      "column": 1
6028                    }
6029                  }
6030                },
6031                "body": {
6032                  "type": "BlockStatement",
6033                  "statements": [
6034                    {
6035                      "type": "ReturnStatement",
6036                      "argument": {
6037                        "type": "MemberExpression",
6038                        "object": {
6039                          "type": "Identifier",
6040                          "name": "#Color",
6041                          "decorators": [],
6042                          "loc": {
6043                            "start": {
6044                              "line": 1,
6045                              "column": 1
6046                            },
6047                            "end": {
6048                              "line": 1,
6049                              "column": 1
6050                            }
6051                          }
6052                        },
6053                        "property": {
6054                          "type": "Identifier",
6055                          "name": "ItemsArray",
6056                          "decorators": [],
6057                          "loc": {
6058                            "start": {
6059                              "line": 1,
6060                              "column": 1
6061                            },
6062                            "end": {
6063                              "line": 1,
6064                              "column": 1
6065                            }
6066                          }
6067                        },
6068                        "computed": false,
6069                        "optional": false,
6070                        "loc": {
6071                          "start": {
6072                            "line": 1,
6073                            "column": 1
6074                          },
6075                          "end": {
6076                            "line": 1,
6077                            "column": 1
6078                          }
6079                        }
6080                      },
6081                      "loc": {
6082                        "start": {
6083                          "line": 1,
6084                          "column": 1
6085                        },
6086                        "end": {
6087                          "line": 1,
6088                          "column": 1
6089                        }
6090                      }
6091                    }
6092                  ],
6093                  "loc": {
6094                    "start": {
6095                      "line": 1,
6096                      "column": 1
6097                    },
6098                    "end": {
6099                      "line": 1,
6100                      "column": 1
6101                    }
6102                  }
6103                },
6104                "loc": {
6105                  "start": {
6106                    "line": 1,
6107                    "column": 1
6108                  },
6109                  "end": {
6110                    "line": 1,
6111                    "column": 1
6112                  }
6113                }
6114              },
6115              "loc": {
6116                "start": {
6117                  "line": 1,
6118                  "column": 1
6119                },
6120                "end": {
6121                  "line": 1,
6122                  "column": 1
6123                }
6124              }
6125            },
6126            "overloads": [],
6127            "decorators": [],
6128            "loc": {
6129              "start": {
6130                "line": 1,
6131                "column": 1
6132              },
6133              "end": {
6134                "line": 1,
6135                "column": 1
6136              }
6137            }
6138          },
6139          {
6140            "type": "MethodDefinition",
6141            "key": {
6142              "type": "Identifier",
6143              "name": "fromInt",
6144              "decorators": [],
6145              "loc": {
6146                "start": {
6147                  "line": 1,
6148                  "column": 1
6149                },
6150                "end": {
6151                  "line": 1,
6152                  "column": 1
6153                }
6154              }
6155            },
6156            "kind": "method",
6157            "accessibility": "public",
6158            "static": true,
6159            "optional": false,
6160            "computed": false,
6161            "value": {
6162              "type": "FunctionExpression",
6163              "function": {
6164                "type": "ScriptFunction",
6165                "id": {
6166                  "type": "Identifier",
6167                  "name": "fromInt",
6168                  "decorators": [],
6169                  "loc": {
6170                    "start": {
6171                      "line": 1,
6172                      "column": 1
6173                    },
6174                    "end": {
6175                      "line": 1,
6176                      "column": 1
6177                    }
6178                  }
6179                },
6180                "generator": false,
6181                "async": false,
6182                "expression": false,
6183                "params": [
6184                  {
6185                    "type": "ETSParameterExpression",
6186                    "name": {
6187                      "type": "Identifier",
6188                      "name": "ordinal",
6189                      "typeAnnotation": {
6190                        "type": "ETSPrimitiveType",
6191                        "loc": {
6192                          "start": {
6193                            "line": 1,
6194                            "column": 1
6195                          },
6196                          "end": {
6197                            "line": 1,
6198                            "column": 1
6199                          }
6200                        }
6201                      },
6202                      "decorators": [],
6203                      "loc": {
6204                        "start": {
6205                          "line": 1,
6206                          "column": 1
6207                        },
6208                        "end": {
6209                          "line": 1,
6210                          "column": 1
6211                        }
6212                      }
6213                    },
6214                    "loc": {
6215                      "start": {
6216                        "line": 1,
6217                        "column": 1
6218                      },
6219                      "end": {
6220                        "line": 1,
6221                        "column": 1
6222                      }
6223                    }
6224                  }
6225                ],
6226                "returnType": {
6227                  "type": "ETSTypeReference",
6228                  "part": {
6229                    "type": "ETSTypeReferencePart",
6230                    "name": {
6231                      "type": "Identifier",
6232                      "name": "Color",
6233                      "decorators": [],
6234                      "loc": {
6235                        "start": {
6236                          "line": 1,
6237                          "column": 1
6238                        },
6239                        "end": {
6240                          "line": 1,
6241                          "column": 1
6242                        }
6243                      }
6244                    },
6245                    "loc": {
6246                      "start": {
6247                        "line": 1,
6248                        "column": 1
6249                      },
6250                      "end": {
6251                        "line": 1,
6252                        "column": 1
6253                      }
6254                    }
6255                  },
6256                  "loc": {
6257                    "start": {
6258                      "line": 1,
6259                      "column": 1
6260                    },
6261                    "end": {
6262                      "line": 1,
6263                      "column": 1
6264                    }
6265                  }
6266                },
6267                "body": {
6268                  "type": "BlockStatement",
6269                  "statements": [
6270                    {
6271                      "type": "IfStatement",
6272                      "test": {
6273                        "type": "BinaryExpression",
6274                        "operator": "<",
6275                        "left": {
6276                          "type": "Identifier",
6277                          "name": "ordinal",
6278                          "decorators": [],
6279                          "loc": {
6280                            "start": {
6281                              "line": 1,
6282                              "column": 1
6283                            },
6284                            "end": {
6285                              "line": 1,
6286                              "column": 1
6287                            }
6288                          }
6289                        },
6290                        "right": {
6291                          "type": "MemberExpression",
6292                          "object": {
6293                            "type": "MemberExpression",
6294                            "object": {
6295                              "type": "Identifier",
6296                              "name": "#Color",
6297                              "decorators": [],
6298                              "loc": {
6299                                "start": {
6300                                  "line": 1,
6301                                  "column": 1
6302                                },
6303                                "end": {
6304                                  "line": 1,
6305                                  "column": 1
6306                                }
6307                              }
6308                            },
6309                            "property": {
6310                              "type": "Identifier",
6311                              "name": "ItemsArray",
6312                              "decorators": [],
6313                              "loc": {
6314                                "start": {
6315                                  "line": 1,
6316                                  "column": 1
6317                                },
6318                                "end": {
6319                                  "line": 1,
6320                                  "column": 1
6321                                }
6322                              }
6323                            },
6324                            "computed": false,
6325                            "optional": false,
6326                            "loc": {
6327                              "start": {
6328                                "line": 1,
6329                                "column": 1
6330                              },
6331                              "end": {
6332                                "line": 1,
6333                                "column": 1
6334                              }
6335                            }
6336                          },
6337                          "property": {
6338                            "type": "Identifier",
6339                            "name": "length",
6340                            "decorators": [],
6341                            "loc": {
6342                              "start": {
6343                                "line": 1,
6344                                "column": 1
6345                              },
6346                              "end": {
6347                                "line": 1,
6348                                "column": 1
6349                              }
6350                            }
6351                          },
6352                          "computed": false,
6353                          "optional": false,
6354                          "loc": {
6355                            "start": {
6356                              "line": 1,
6357                              "column": 1
6358                            },
6359                            "end": {
6360                              "line": 1,
6361                              "column": 1
6362                            }
6363                          }
6364                        },
6365                        "loc": {
6366                          "start": {
6367                            "line": 1,
6368                            "column": 1
6369                          },
6370                          "end": {
6371                            "line": 1,
6372                            "column": 1
6373                          }
6374                        }
6375                      },
6376                      "consequent": {
6377                        "type": "ReturnStatement",
6378                        "argument": {
6379                          "type": "MemberExpression",
6380                          "object": {
6381                            "type": "MemberExpression",
6382                            "object": {
6383                              "type": "Identifier",
6384                              "name": "#Color",
6385                              "decorators": [],
6386                              "loc": {
6387                                "start": {
6388                                  "line": 1,
6389                                  "column": 1
6390                                },
6391                                "end": {
6392                                  "line": 1,
6393                                  "column": 1
6394                                }
6395                              }
6396                            },
6397                            "property": {
6398                              "type": "Identifier",
6399                              "name": "ItemsArray",
6400                              "decorators": [],
6401                              "loc": {
6402                                "start": {
6403                                  "line": 1,
6404                                  "column": 1
6405                                },
6406                                "end": {
6407                                  "line": 1,
6408                                  "column": 1
6409                                }
6410                              }
6411                            },
6412                            "computed": false,
6413                            "optional": false,
6414                            "loc": {
6415                              "start": {
6416                                "line": 1,
6417                                "column": 1
6418                              },
6419                              "end": {
6420                                "line": 1,
6421                                "column": 1
6422                              }
6423                            }
6424                          },
6425                          "property": {
6426                            "type": "Identifier",
6427                            "name": "ordinal",
6428                            "decorators": [],
6429                            "loc": {
6430                              "start": {
6431                                "line": 1,
6432                                "column": 1
6433                              },
6434                              "end": {
6435                                "line": 1,
6436                                "column": 1
6437                              }
6438                            }
6439                          },
6440                          "computed": true,
6441                          "optional": false,
6442                          "loc": {
6443                            "start": {
6444                              "line": 1,
6445                              "column": 1
6446                            },
6447                            "end": {
6448                              "line": 1,
6449                              "column": 1
6450                            }
6451                          }
6452                        },
6453                        "loc": {
6454                          "start": {
6455                            "line": 1,
6456                            "column": 1
6457                          },
6458                          "end": {
6459                            "line": 1,
6460                            "column": 1
6461                          }
6462                        }
6463                      },
6464                      "alternate": null,
6465                      "loc": {
6466                        "start": {
6467                          "line": 1,
6468                          "column": 1
6469                        },
6470                        "end": {
6471                          "line": 1,
6472                          "column": 1
6473                        }
6474                      }
6475                    },
6476                    {
6477                      "type": "ThrowStatement",
6478                      "argument": {
6479                        "type": "ETSNewClassInstanceExpression",
6480                        "typeReference": {
6481                          "type": "ETSTypeReference",
6482                          "part": {
6483                            "type": "ETSTypeReferencePart",
6484                            "name": {
6485                              "type": "Identifier",
6486                              "name": "Exception",
6487                              "decorators": [],
6488                              "loc": {
6489                                "start": {
6490                                  "line": 1,
6491                                  "column": 1
6492                                },
6493                                "end": {
6494                                  "line": 1,
6495                                  "column": 1
6496                                }
6497                              }
6498                            },
6499                            "loc": {
6500                              "start": {
6501                                "line": 1,
6502                                "column": 1
6503                              },
6504                              "end": {
6505                                "line": 1,
6506                                "column": 1
6507                              }
6508                            }
6509                          },
6510                          "loc": {
6511                            "start": {
6512                              "line": 1,
6513                              "column": 1
6514                            },
6515                            "end": {
6516                              "line": 1,
6517                              "column": 1
6518                            }
6519                          }
6520                        },
6521                        "arguments": [
6522                          {
6523                            "type": "BinaryExpression",
6524                            "operator": "+",
6525                            "left": {
6526                              "type": "StringLiteral",
6527                              "value": "No enum constant in Color with ordinal value ",
6528                              "loc": {
6529                                "start": {
6530                                  "line": 1,
6531                                  "column": 1
6532                                },
6533                                "end": {
6534                                  "line": 1,
6535                                  "column": 1
6536                                }
6537                              }
6538                            },
6539                            "right": {
6540                              "type": "Identifier",
6541                              "name": "ordinal",
6542                              "decorators": [],
6543                              "loc": {
6544                                "start": {
6545                                  "line": 1,
6546                                  "column": 1
6547                                },
6548                                "end": {
6549                                  "line": 1,
6550                                  "column": 1
6551                                }
6552                              }
6553                            },
6554                            "loc": {
6555                              "start": {
6556                                "line": 1,
6557                                "column": 1
6558                              },
6559                              "end": {
6560                                "line": 1,
6561                                "column": 1
6562                              }
6563                            }
6564                          }
6565                        ],
6566                        "loc": {
6567                          "start": {
6568                            "line": 1,
6569                            "column": 1
6570                          },
6571                          "end": {
6572                            "line": 1,
6573                            "column": 1
6574                          }
6575                        }
6576                      },
6577                      "loc": {
6578                        "start": {
6579                          "line": 1,
6580                          "column": 1
6581                        },
6582                        "end": {
6583                          "line": 1,
6584                          "column": 1
6585                        }
6586                      }
6587                    }
6588                  ],
6589                  "loc": {
6590                    "start": {
6591                      "line": 1,
6592                      "column": 1
6593                    },
6594                    "end": {
6595                      "line": 1,
6596                      "column": 1
6597                    }
6598                  }
6599                },
6600                "throwMarker": "throws",
6601                "loc": {
6602                  "start": {
6603                    "line": 1,
6604                    "column": 1
6605                  },
6606                  "end": {
6607                    "line": 1,
6608                    "column": 1
6609                  }
6610                }
6611              },
6612              "loc": {
6613                "start": {
6614                  "line": 1,
6615                  "column": 1
6616                },
6617                "end": {
6618                  "line": 1,
6619                  "column": 1
6620                }
6621              }
6622            },
6623            "overloads": [],
6624            "decorators": [],
6625            "loc": {
6626              "start": {
6627                "line": 1,
6628                "column": 1
6629              },
6630              "end": {
6631                "line": 1,
6632                "column": 1
6633              }
6634            }
6635          },
6636          {
6637            "type": "MethodDefinition",
6638            "key": {
6639              "type": "Identifier",
6640              "name": "unbox",
6641              "decorators": [],
6642              "loc": {
6643                "start": {
6644                  "line": 1,
6645                  "column": 1
6646                },
6647                "end": {
6648                  "line": 1,
6649                  "column": 1
6650                }
6651              }
6652            },
6653            "kind": "method",
6654            "accessibility": "public",
6655            "static": false,
6656            "optional": false,
6657            "computed": false,
6658            "value": {
6659              "type": "FunctionExpression",
6660              "function": {
6661                "type": "ScriptFunction",
6662                "id": {
6663                  "type": "Identifier",
6664                  "name": "unbox",
6665                  "decorators": [],
6666                  "loc": {
6667                    "start": {
6668                      "line": 1,
6669                      "column": 1
6670                    },
6671                    "end": {
6672                      "line": 1,
6673                      "column": 1
6674                    }
6675                  }
6676                },
6677                "generator": false,
6678                "async": false,
6679                "expression": false,
6680                "params": [],
6681                "returnType": {
6682                  "type": "ETSTypeReference",
6683                  "part": {
6684                    "type": "ETSTypeReferencePart",
6685                    "name": {
6686                      "type": "Identifier",
6687                      "name": "Color",
6688                      "decorators": [],
6689                      "loc": {
6690                        "start": {
6691                          "line": 1,
6692                          "column": 1
6693                        },
6694                        "end": {
6695                          "line": 1,
6696                          "column": 1
6697                        }
6698                      }
6699                    },
6700                    "loc": {
6701                      "start": {
6702                        "line": 1,
6703                        "column": 1
6704                      },
6705                      "end": {
6706                        "line": 1,
6707                        "column": 1
6708                      }
6709                    }
6710                  },
6711                  "loc": {
6712                    "start": {
6713                      "line": 1,
6714                      "column": 1
6715                    },
6716                    "end": {
6717                      "line": 1,
6718                      "column": 1
6719                    }
6720                  }
6721                },
6722                "body": {
6723                  "type": "BlockStatement",
6724                  "statements": [
6725                    {
6726                      "type": "ReturnStatement",
6727                      "argument": {
6728                        "type": "MemberExpression",
6729                        "object": {
6730                          "type": "MemberExpression",
6731                          "object": {
6732                            "type": "Identifier",
6733                            "name": "#Color",
6734                            "decorators": [],
6735                            "loc": {
6736                              "start": {
6737                                "line": 1,
6738                                "column": 1
6739                              },
6740                              "end": {
6741                                "line": 1,
6742                                "column": 1
6743                              }
6744                            }
6745                          },
6746                          "property": {
6747                            "type": "Identifier",
6748                            "name": "ItemsArray",
6749                            "decorators": [],
6750                            "loc": {
6751                              "start": {
6752                                "line": 1,
6753                                "column": 1
6754                              },
6755                              "end": {
6756                                "line": 1,
6757                                "column": 1
6758                              }
6759                            }
6760                          },
6761                          "computed": false,
6762                          "optional": false,
6763                          "loc": {
6764                            "start": {
6765                              "line": 1,
6766                              "column": 1
6767                            },
6768                            "end": {
6769                              "line": 1,
6770                              "column": 1
6771                            }
6772                          }
6773                        },
6774                        "property": {
6775                          "type": "MemberExpression",
6776                          "object": {
6777                            "type": "ThisExpression",
6778                            "loc": {
6779                              "start": {
6780                                "line": 1,
6781                                "column": 1
6782                              },
6783                              "end": {
6784                                "line": 1,
6785                                "column": 1
6786                              }
6787                            }
6788                          },
6789                          "property": {
6790                            "type": "Identifier",
6791                            "name": "ordinal",
6792                            "decorators": [],
6793                            "loc": {
6794                              "start": {
6795                                "line": 1,
6796                                "column": 1
6797                              },
6798                              "end": {
6799                                "line": 1,
6800                                "column": 1
6801                              }
6802                            }
6803                          },
6804                          "computed": false,
6805                          "optional": false,
6806                          "loc": {
6807                            "start": {
6808                              "line": 1,
6809                              "column": 1
6810                            },
6811                            "end": {
6812                              "line": 1,
6813                              "column": 1
6814                            }
6815                          }
6816                        },
6817                        "computed": true,
6818                        "optional": false,
6819                        "loc": {
6820                          "start": {
6821                            "line": 1,
6822                            "column": 1
6823                          },
6824                          "end": {
6825                            "line": 1,
6826                            "column": 1
6827                          }
6828                        }
6829                      },
6830                      "loc": {
6831                        "start": {
6832                          "line": 1,
6833                          "column": 1
6834                        },
6835                        "end": {
6836                          "line": 1,
6837                          "column": 1
6838                        }
6839                      }
6840                    }
6841                  ],
6842                  "loc": {
6843                    "start": {
6844                      "line": 1,
6845                      "column": 1
6846                    },
6847                    "end": {
6848                      "line": 1,
6849                      "column": 1
6850                    }
6851                  }
6852                },
6853                "loc": {
6854                  "start": {
6855                    "line": 1,
6856                    "column": 1
6857                  },
6858                  "end": {
6859                    "line": 1,
6860                    "column": 1
6861                  }
6862                }
6863              },
6864              "loc": {
6865                "start": {
6866                  "line": 1,
6867                  "column": 1
6868                },
6869                "end": {
6870                  "line": 1,
6871                  "column": 1
6872                }
6873              }
6874            },
6875            "overloads": [],
6876            "decorators": [],
6877            "loc": {
6878              "start": {
6879                "line": 1,
6880                "column": 1
6881              },
6882              "end": {
6883                "line": 1,
6884                "column": 1
6885              }
6886            }
6887          },
6888          {
6889            "type": "MethodDefinition",
6890            "key": {
6891              "type": "Identifier",
6892              "name": "boxedfromInt",
6893              "decorators": [],
6894              "loc": {
6895                "start": {
6896                  "line": 1,
6897                  "column": 1
6898                },
6899                "end": {
6900                  "line": 1,
6901                  "column": 1
6902                }
6903              }
6904            },
6905            "kind": "method",
6906            "accessibility": "public",
6907            "static": true,
6908            "optional": false,
6909            "computed": false,
6910            "value": {
6911              "type": "FunctionExpression",
6912              "function": {
6913                "type": "ScriptFunction",
6914                "id": {
6915                  "type": "Identifier",
6916                  "name": "boxedfromInt",
6917                  "decorators": [],
6918                  "loc": {
6919                    "start": {
6920                      "line": 1,
6921                      "column": 1
6922                    },
6923                    "end": {
6924                      "line": 1,
6925                      "column": 1
6926                    }
6927                  }
6928                },
6929                "generator": false,
6930                "async": false,
6931                "expression": false,
6932                "params": [
6933                  {
6934                    "type": "ETSParameterExpression",
6935                    "name": {
6936                      "type": "Identifier",
6937                      "name": "ordinal",
6938                      "typeAnnotation": {
6939                        "type": "ETSPrimitiveType",
6940                        "loc": {
6941                          "start": {
6942                            "line": 1,
6943                            "column": 1
6944                          },
6945                          "end": {
6946                            "line": 1,
6947                            "column": 1
6948                          }
6949                        }
6950                      },
6951                      "decorators": [],
6952                      "loc": {
6953                        "start": {
6954                          "line": 1,
6955                          "column": 1
6956                        },
6957                        "end": {
6958                          "line": 1,
6959                          "column": 1
6960                        }
6961                      }
6962                    },
6963                    "loc": {
6964                      "start": {
6965                        "line": 1,
6966                        "column": 1
6967                      },
6968                      "end": {
6969                        "line": 1,
6970                        "column": 1
6971                      }
6972                    }
6973                  }
6974                ],
6975                "returnType": {
6976                  "type": "ETSTypeReference",
6977                  "part": {
6978                    "type": "ETSTypeReferencePart",
6979                    "name": {
6980                      "type": "Identifier",
6981                      "name": "#Color",
6982                      "decorators": [],
6983                      "loc": {
6984                        "start": {
6985                          "line": 1,
6986                          "column": 1
6987                        },
6988                        "end": {
6989                          "line": 1,
6990                          "column": 1
6991                        }
6992                      }
6993                    },
6994                    "loc": {
6995                      "start": {
6996                        "line": 1,
6997                        "column": 1
6998                      },
6999                      "end": {
7000                        "line": 1,
7001                        "column": 1
7002                      }
7003                    }
7004                  },
7005                  "loc": {
7006                    "start": {
7007                      "line": 1,
7008                      "column": 1
7009                    },
7010                    "end": {
7011                      "line": 1,
7012                      "column": 1
7013                    }
7014                  }
7015                },
7016                "body": {
7017                  "type": "BlockStatement",
7018                  "statements": [
7019                    {
7020                      "type": "IfStatement",
7021                      "test": {
7022                        "type": "BinaryExpression",
7023                        "operator": "<",
7024                        "left": {
7025                          "type": "Identifier",
7026                          "name": "ordinal",
7027                          "decorators": [],
7028                          "loc": {
7029                            "start": {
7030                              "line": 1,
7031                              "column": 1
7032                            },
7033                            "end": {
7034                              "line": 1,
7035                              "column": 1
7036                            }
7037                          }
7038                        },
7039                        "right": {
7040                          "type": "MemberExpression",
7041                          "object": {
7042                            "type": "MemberExpression",
7043                            "object": {
7044                              "type": "Identifier",
7045                              "name": "#Color",
7046                              "decorators": [],
7047                              "loc": {
7048                                "start": {
7049                                  "line": 1,
7050                                  "column": 1
7051                                },
7052                                "end": {
7053                                  "line": 1,
7054                                  "column": 1
7055                                }
7056                              }
7057                            },
7058                            "property": {
7059                              "type": "Identifier",
7060                              "name": "BoxedItemsArray",
7061                              "decorators": [],
7062                              "loc": {
7063                                "start": {
7064                                  "line": 1,
7065                                  "column": 1
7066                                },
7067                                "end": {
7068                                  "line": 1,
7069                                  "column": 1
7070                                }
7071                              }
7072                            },
7073                            "computed": false,
7074                            "optional": false,
7075                            "loc": {
7076                              "start": {
7077                                "line": 1,
7078                                "column": 1
7079                              },
7080                              "end": {
7081                                "line": 1,
7082                                "column": 1
7083                              }
7084                            }
7085                          },
7086                          "property": {
7087                            "type": "Identifier",
7088                            "name": "length",
7089                            "decorators": [],
7090                            "loc": {
7091                              "start": {
7092                                "line": 1,
7093                                "column": 1
7094                              },
7095                              "end": {
7096                                "line": 1,
7097                                "column": 1
7098                              }
7099                            }
7100                          },
7101                          "computed": false,
7102                          "optional": false,
7103                          "loc": {
7104                            "start": {
7105                              "line": 1,
7106                              "column": 1
7107                            },
7108                            "end": {
7109                              "line": 1,
7110                              "column": 1
7111                            }
7112                          }
7113                        },
7114                        "loc": {
7115                          "start": {
7116                            "line": 1,
7117                            "column": 1
7118                          },
7119                          "end": {
7120                            "line": 1,
7121                            "column": 1
7122                          }
7123                        }
7124                      },
7125                      "consequent": {
7126                        "type": "ReturnStatement",
7127                        "argument": {
7128                          "type": "MemberExpression",
7129                          "object": {
7130                            "type": "MemberExpression",
7131                            "object": {
7132                              "type": "Identifier",
7133                              "name": "#Color",
7134                              "decorators": [],
7135                              "loc": {
7136                                "start": {
7137                                  "line": 1,
7138                                  "column": 1
7139                                },
7140                                "end": {
7141                                  "line": 1,
7142                                  "column": 1
7143                                }
7144                              }
7145                            },
7146                            "property": {
7147                              "type": "Identifier",
7148                              "name": "BoxedItemsArray",
7149                              "decorators": [],
7150                              "loc": {
7151                                "start": {
7152                                  "line": 1,
7153                                  "column": 1
7154                                },
7155                                "end": {
7156                                  "line": 1,
7157                                  "column": 1
7158                                }
7159                              }
7160                            },
7161                            "computed": false,
7162                            "optional": false,
7163                            "loc": {
7164                              "start": {
7165                                "line": 1,
7166                                "column": 1
7167                              },
7168                              "end": {
7169                                "line": 1,
7170                                "column": 1
7171                              }
7172                            }
7173                          },
7174                          "property": {
7175                            "type": "Identifier",
7176                            "name": "ordinal",
7177                            "decorators": [],
7178                            "loc": {
7179                              "start": {
7180                                "line": 1,
7181                                "column": 1
7182                              },
7183                              "end": {
7184                                "line": 1,
7185                                "column": 1
7186                              }
7187                            }
7188                          },
7189                          "computed": true,
7190                          "optional": false,
7191                          "loc": {
7192                            "start": {
7193                              "line": 1,
7194                              "column": 1
7195                            },
7196                            "end": {
7197                              "line": 1,
7198                              "column": 1
7199                            }
7200                          }
7201                        },
7202                        "loc": {
7203                          "start": {
7204                            "line": 1,
7205                            "column": 1
7206                          },
7207                          "end": {
7208                            "line": 1,
7209                            "column": 1
7210                          }
7211                        }
7212                      },
7213                      "alternate": null,
7214                      "loc": {
7215                        "start": {
7216                          "line": 1,
7217                          "column": 1
7218                        },
7219                        "end": {
7220                          "line": 1,
7221                          "column": 1
7222                        }
7223                      }
7224                    },
7225                    {
7226                      "type": "ThrowStatement",
7227                      "argument": {
7228                        "type": "ETSNewClassInstanceExpression",
7229                        "typeReference": {
7230                          "type": "ETSTypeReference",
7231                          "part": {
7232                            "type": "ETSTypeReferencePart",
7233                            "name": {
7234                              "type": "Identifier",
7235                              "name": "Exception",
7236                              "decorators": [],
7237                              "loc": {
7238                                "start": {
7239                                  "line": 1,
7240                                  "column": 1
7241                                },
7242                                "end": {
7243                                  "line": 1,
7244                                  "column": 1
7245                                }
7246                              }
7247                            },
7248                            "loc": {
7249                              "start": {
7250                                "line": 1,
7251                                "column": 1
7252                              },
7253                              "end": {
7254                                "line": 1,
7255                                "column": 1
7256                              }
7257                            }
7258                          },
7259                          "loc": {
7260                            "start": {
7261                              "line": 1,
7262                              "column": 1
7263                            },
7264                            "end": {
7265                              "line": 1,
7266                              "column": 1
7267                            }
7268                          }
7269                        },
7270                        "arguments": [
7271                          {
7272                            "type": "BinaryExpression",
7273                            "operator": "+",
7274                            "left": {
7275                              "type": "StringLiteral",
7276                              "value": "No enum constant in Color with ordinal value ",
7277                              "loc": {
7278                                "start": {
7279                                  "line": 1,
7280                                  "column": 1
7281                                },
7282                                "end": {
7283                                  "line": 1,
7284                                  "column": 1
7285                                }
7286                              }
7287                            },
7288                            "right": {
7289                              "type": "Identifier",
7290                              "name": "ordinal",
7291                              "decorators": [],
7292                              "loc": {
7293                                "start": {
7294                                  "line": 1,
7295                                  "column": 1
7296                                },
7297                                "end": {
7298                                  "line": 1,
7299                                  "column": 1
7300                                }
7301                              }
7302                            },
7303                            "loc": {
7304                              "start": {
7305                                "line": 1,
7306                                "column": 1
7307                              },
7308                              "end": {
7309                                "line": 1,
7310                                "column": 1
7311                              }
7312                            }
7313                          }
7314                        ],
7315                        "loc": {
7316                          "start": {
7317                            "line": 1,
7318                            "column": 1
7319                          },
7320                          "end": {
7321                            "line": 1,
7322                            "column": 1
7323                          }
7324                        }
7325                      },
7326                      "loc": {
7327                        "start": {
7328                          "line": 1,
7329                          "column": 1
7330                        },
7331                        "end": {
7332                          "line": 1,
7333                          "column": 1
7334                        }
7335                      }
7336                    }
7337                  ],
7338                  "loc": {
7339                    "start": {
7340                      "line": 1,
7341                      "column": 1
7342                    },
7343                    "end": {
7344                      "line": 1,
7345                      "column": 1
7346                    }
7347                  }
7348                },
7349                "throwMarker": "throws",
7350                "loc": {
7351                  "start": {
7352                    "line": 1,
7353                    "column": 1
7354                  },
7355                  "end": {
7356                    "line": 1,
7357                    "column": 1
7358                  }
7359                }
7360              },
7361              "loc": {
7362                "start": {
7363                  "line": 1,
7364                  "column": 1
7365                },
7366                "end": {
7367                  "line": 1,
7368                  "column": 1
7369                }
7370              }
7371            },
7372            "overloads": [],
7373            "decorators": [],
7374            "loc": {
7375              "start": {
7376                "line": 1,
7377                "column": 1
7378              },
7379              "end": {
7380                "line": 1,
7381                "column": 1
7382              }
7383            }
7384          }
7385        ],
7386        "loc": {
7387          "start": {
7388            "line": 1,
7389            "column": 1
7390          },
7391          "end": {
7392            "line": 1,
7393            "column": 1
7394          }
7395        }
7396      },
7397      "loc": {
7398        "start": {
7399          "line": 1,
7400          "column": 1
7401        },
7402        "end": {
7403          "line": 1,
7404          "column": 1
7405        }
7406      }
7407    }
7408  ],
7409  "loc": {
7410    "start": {
7411      "line": 1,
7412      "column": 1
7413    },
7414    "end": {
7415      "line": 72,
7416      "column": 1
7417    }
7418  }
7419}
7420