aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/javanano/javanano_message.h
diff options
context:
space:
mode:
authorGravatar Brian Duff <bduff@google.com>2013-10-15 18:35:44 -0700
committerGravatar Max Cai <maxtroy@google.com>2013-10-25 16:06:21 +0100
commit56a37328ae568225a672a4ba2654710caa0b8e59 (patch)
tree3201f50635c71bc298c1aef45d23106f3e06cee3 /src/google/protobuf/compiler/javanano/javanano_message.h
parent461d4ac87a5a6dee584da0c8451cdaae253f3873 (diff)
Implement hashCode() and equals() behind a generator option.
The option is only called 'generate_equals' because: - equals() is the main thing; hashCode() is there only to complement equals(); - it's shorter; - toString() should not be included in this option because it's more for debugging and it's more likely to stop ProGuard from working well. Also shortened the "has bit" expression; was ((bitField & mask) == mask), now ((bitField & mask) != 0). Both the Java code and the bytecode are slightly shorter. Change-Id: Ic309a08a60883bf454eb6612679aa99611620e76
Diffstat (limited to 'src/google/protobuf/compiler/javanano/javanano_message.h')
-rw-r--r--src/google/protobuf/compiler/javanano/javanano_message.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/google/protobuf/compiler/javanano/javanano_message.h b/src/google/protobuf/compiler/javanano/javanano_message.h
index d59ec9f0..f87f84f2 100644
--- a/src/google/protobuf/compiler/javanano/javanano_message.h
+++ b/src/google/protobuf/compiler/javanano/javanano_message.h
@@ -36,9 +36,10 @@
#define GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_H__
#include <string>
-#include <google/protobuf/stubs/common.h>
-#include <google/protobuf/compiler/javanano/javanano_params.h>
+#include <google/protobuf/compiler/javanano/javanano_helpers.h>
#include <google/protobuf/compiler/javanano/javanano_field.h>
+#include <google/protobuf/compiler/javanano/javanano_params.h>
+#include <google/protobuf/stubs/common.h>
namespace google {
namespace protobuf {
@@ -76,6 +77,8 @@ class MessageGenerator {
const FieldDescriptor* field);
void GenerateClear(io::Printer* printer);
+ void GenerateEquals(io::Printer* printer);
+ void GenerateHashCode(io::Printer* printer);
const Params& params_;
const Descriptor* descriptor_;