File=$1
EnumType=$2
echo "// **** DO NOT modify this file! ****"
echo "// This file is generated by cmd:"
echo "//   gen_statistics.bash $@"
echo "iterable_named_enum! {"
echo "    #[derive(Debug, Copy, Clone, PartialEq, Eq)]"
echo "    #[repr(u32)]"
echo "    pub enum $EnumType {"
perl -n0e '/const std::vector<std::pair<'$EnumType's, std::string>> '$EnumType'sNameMap.*?\};/sm && print $&' $File |
perl -n0e '
while (/\{\s*([\w_]+)\s*,.*?"(.*?)"/smg) {
    $val = $2;
    $name = lc($1);
    $name =~ s/(\b|_)(\w)/\U$2/g;
    print "        $name(\"$val\"),\n"
}'
echo "    }"
echo "}"
