|
|
|
@ -178,12 +178,13 @@ void EnumGenerator::GenerateSymbolImports(io::Printer* printer) { |
|
|
|
|
map<string, string> vars; |
|
|
|
|
vars["nested_name"] = descriptor_->name(); |
|
|
|
|
vars["classname"] = classname_; |
|
|
|
|
vars["constexpr"] = options_.proto_h ? "constexpr " : ""; |
|
|
|
|
printer->Print(vars, "typedef $classname$ $nested_name$;\n"); |
|
|
|
|
|
|
|
|
|
for (int j = 0; j < descriptor_->value_count(); j++) { |
|
|
|
|
vars["tag"] = EnumValueName(descriptor_->value(j)); |
|
|
|
|
printer->Print(vars, |
|
|
|
|
"static const $nested_name$ $tag$ = $classname$_$tag$;\n"); |
|
|
|
|
"static $constexpr$const $nested_name$ $tag$ = $classname$_$tag$;\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
printer->Print(vars, |
|
|
|
@ -237,6 +238,7 @@ void EnumGenerator::GenerateDescriptorInitializer( |
|
|
|
|
void EnumGenerator::GenerateMethods(io::Printer* printer) { |
|
|
|
|
map<string, string> vars; |
|
|
|
|
vars["classname"] = classname_; |
|
|
|
|
vars["constexpr"] = options_.proto_h ? "constexpr " : ""; |
|
|
|
|
|
|
|
|
|
if (HasDescriptorMethods(descriptor_->file())) { |
|
|
|
|
printer->Print(vars, |
|
|
|
@ -287,7 +289,7 @@ void EnumGenerator::GenerateMethods(io::Printer* printer) { |
|
|
|
|
for (int i = 0; i < descriptor_->value_count(); i++) { |
|
|
|
|
vars["value"] = EnumValueName(descriptor_->value(i)); |
|
|
|
|
printer->Print(vars, |
|
|
|
|
"const $classname$ $parent$::$value$;\n"); |
|
|
|
|
"$constexpr$const $classname$ $parent$::$value$;\n"); |
|
|
|
|
} |
|
|
|
|
printer->Print(vars, |
|
|
|
|
"const $classname$ $parent$::$nested_name$_MIN;\n" |
|
|
|
|