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