aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Duff <bduff@google.com>2015-03-20 21:12:11 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-03-20 21:12:15 +0000
commit00c7607ce445af504021447068d6237ba8100716 (patch)
treec4a4df209a215a3678d75e8968dc837e1a44a2ff /src
parent51e32ffaa5e2ea3528a58db5d34e8a0dc0a9ac93 (diff)
parent0e2b47592a5af00251b2478542374a0f428ae4ee (diff)
downloadexternal_protobuf-00c7607ce445af504021447068d6237ba8100716.zip
external_protobuf-00c7607ce445af504021447068d6237ba8100716.tar.gz
external_protobuf-00c7607ce445af504021447068d6237ba8100716.tar.bz2
Merge "Inline unknownFieldData{Equals,HashCode} to generated code."
Diffstat (limited to 'src')
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_message.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_message.cc b/src/google/protobuf/compiler/javanano/javanano_message.cc
index dcfb870..4026031 100644
--- a/src/google/protobuf/compiler/javanano/javanano_message.cc
+++ b/src/google/protobuf/compiler/javanano/javanano_message.cc
@@ -552,7 +552,11 @@ void MessageGenerator::GenerateEquals(io::Printer* printer) {
if (params_.store_unknown_fields()) {
printer->Print(
- "return unknownFieldDataEquals(other);\n");
+ "if (unknownFieldData == null || unknownFieldData.isEmpty()) {\n"
+ " return other.unknownFieldData == null || other.unknownFieldData.isEmpty();\n"
+ "} else {\n"
+ " return unknownFieldData.equals(other.unknownFieldData);\n"
+ "}");
} else {
printer->Print(
"return true;\n");
@@ -582,7 +586,9 @@ void MessageGenerator::GenerateHashCode(io::Printer* printer) {
if (params_.store_unknown_fields()) {
printer->Print(
- "result = 31 * result + unknownFieldDataHashCode();\n");
+ "result = 31 * result + \n"
+ " (unknownFieldData == null || unknownFieldData.isEmpty() ? 0 : \n"
+ " unknownFieldData.hashCode());\n");
}
printer->Print("return result;\n");