|
|
|
@ -138,7 +138,7 @@ void EnumGenerator::Generate(io::Printer* printer) { |
|
|
|
|
" internalValueMap =\n" |
|
|
|
|
" new com.google.protobuf.Internal.EnumLiteMap<$classname$>() {\n" |
|
|
|
|
" public $classname$ findValueByNumber(int number) {\n" |
|
|
|
|
" return $classname$.valueOf(number)\n;" |
|
|
|
|
" return $classname$.valueOf(number);\n" |
|
|
|
|
" }\n" |
|
|
|
|
" };\n" |
|
|
|
|
"\n", |
|
|
|
@ -190,6 +190,7 @@ void EnumGenerator::Generate(io::Printer* printer) { |
|
|
|
|
printer->Print( |
|
|
|
|
"\n" |
|
|
|
|
"};\n" |
|
|
|
|
"\n" |
|
|
|
|
"public static $classname$ valueOf(\n" |
|
|
|
|
" com.google.protobuf.Descriptors.EnumValueDescriptor desc) {\n" |
|
|
|
|
" if (desc.getType() != getDescriptor()) {\n" |
|
|
|
@ -197,20 +198,26 @@ void EnumGenerator::Generate(io::Printer* printer) { |
|
|
|
|
" \"EnumValueDescriptor is not for this type.\");\n" |
|
|
|
|
" }\n" |
|
|
|
|
" return VALUES[desc.getIndex()];\n" |
|
|
|
|
"}\n", |
|
|
|
|
"}\n" |
|
|
|
|
"\n", |
|
|
|
|
"classname", descriptor_->name()); |
|
|
|
|
|
|
|
|
|
// index is only used for reflection; lite implementation does not need it
|
|
|
|
|
printer->Print("private final int index;\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// -----------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
printer->Print( |
|
|
|
|
"private final int index;\n" |
|
|
|
|
"private final int value;\n" |
|
|
|
|
"private $classname$(int index, int value) {\n" |
|
|
|
|
" this.index = index;\n" |
|
|
|
|
" this.value = value;\n" |
|
|
|
|
"}\n", |
|
|
|
|
"private final int value;\n\n" |
|
|
|
|
"private $classname$(int index, int value) {\n", |
|
|
|
|
"classname", descriptor_->name()); |
|
|
|
|
if (HasDescriptorMethods(descriptor_)) { |
|
|
|
|
printer->Print(" this.index = index;\n"); |
|
|
|
|
} |
|
|
|
|
printer->Print( |
|
|
|
|
" this.value = value;\n" |
|
|
|
|
"}\n"); |
|
|
|
|
|
|
|
|
|
if (HasDescriptorMethods(descriptor_)) { |
|
|
|
|
// Force the static initialization code for the file to run, since it may
|
|
|
|
|