diff options
author | Brian Duff <bduff@google.com> | 2014-09-30 10:57:50 -0700 |
---|---|---|
committer | Brian Duff <bduff@google.com> | 2014-09-30 10:57:50 -0700 |
commit | a892068c2dddb09ad01cb8f41785a795b7bf9f39 (patch) | |
tree | 2dae36a6614a039112ef86433b111ae8b5ace6fb /src/google/protobuf/compiler/javanano/javanano_enum_field.cc | |
parent | 14e2f6cb376a7a7f5b0c0541e60052fe4b373782 (diff) |
Adds a primitive enum mode for reftypes.
This is a compatibility shim.
Change-Id: Ia0b417d4621e391ede618d0b3b1c470c9896e0ff
Diffstat (limited to 'src/google/protobuf/compiler/javanano/javanano_enum_field.cc')
-rw-r--r-- | src/google/protobuf/compiler/javanano/javanano_enum_field.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_enum_field.cc b/src/google/protobuf/compiler/javanano/javanano_enum_field.cc index 6a18834d..8a59d323 100644 --- a/src/google/protobuf/compiler/javanano/javanano_enum_field.cc +++ b/src/google/protobuf/compiler/javanano/javanano_enum_field.cc @@ -59,6 +59,7 @@ void SetEnumVariables(const Params& params, RenameJavaKeywords(UnderscoresToCapitalizedCamelCase(descriptor)); (*variables)["number"] = SimpleItoa(descriptor->number()); if (params.use_reference_types_for_primitives() + && !params.reftypes_primitive_enums() && !descriptor->is_repeated()) { (*variables)["type"] = "java.lang.Integer"; (*variables)["default"] = "null"; @@ -197,7 +198,8 @@ GenerateSerializedSizeCode(io::Printer* printer) const { } void EnumFieldGenerator::GenerateEqualsCode(io::Printer* printer) const { - if (params_.use_reference_types_for_primitives()) { + if (params_.use_reference_types_for_primitives() + && !params_.reftypes_primitive_enums()) { printer->Print(variables_, "if (this.$name$ == null) {\n" " if (other.$name$ != null) {\n" @@ -228,7 +230,8 @@ void EnumFieldGenerator::GenerateEqualsCode(io::Printer* printer) const { void EnumFieldGenerator::GenerateHashCodeCode(io::Printer* printer) const { printer->Print( "result = 31 * result + "); - if (params_.use_reference_types_for_primitives()) { + if (params_.use_reference_types_for_primitives() + && !params_.reftypes_primitive_enums()) { printer->Print(variables_, "(this.$name$ == null ? 0 : this.$name$)"); } else { |