Index: third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.h |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.h b/third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.h |
index 66bdd8840af07dfb46fcad57e77b8b7db4fc2971..2efbcd97b043c5ddc0797e420db2af31d88cff81 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.h |
+++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.h |
@@ -46,50 +46,84 @@ namespace java { |
class MessageFieldGenerator : public FieldGenerator { |
public: |
- explicit MessageFieldGenerator(const FieldDescriptor* descriptor); |
+ explicit MessageFieldGenerator(const FieldDescriptor* descriptor, |
+ int messageBitIndex, int builderBitIndex); |
~MessageFieldGenerator(); |
// implements FieldGenerator --------------------------------------- |
+ int GetNumBitsForMessage() const; |
+ int GetNumBitsForBuilder() const; |
+ void GenerateInterfaceMembers(io::Printer* printer) const; |
void GenerateMembers(io::Printer* printer) const; |
void GenerateBuilderMembers(io::Printer* printer) const; |
void GenerateInitializationCode(io::Printer* printer) const; |
+ void GenerateBuilderClearCode(io::Printer* printer) const; |
void GenerateMergingCode(io::Printer* printer) const; |
void GenerateBuildingCode(io::Printer* printer) const; |
void GenerateParsingCode(io::Printer* printer) const; |
void GenerateSerializationCode(io::Printer* printer) const; |
void GenerateSerializedSizeCode(io::Printer* printer) const; |
+ void GenerateFieldBuilderInitializationCode(io::Printer* printer) const; |
+ void GenerateEqualsCode(io::Printer* printer) const; |
+ void GenerateHashCode(io::Printer* printer) const; |
string GetBoxedType() const; |
private: |
const FieldDescriptor* descriptor_; |
map<string, string> variables_; |
+ const int messageBitIndex_; |
+ const int builderBitIndex_; |
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageFieldGenerator); |
+ |
+ void PrintNestedBuilderCondition(io::Printer* printer, |
+ const char* regular_case, const char* nested_builder_case) const; |
+ void PrintNestedBuilderFunction(io::Printer* printer, |
+ const char* method_prototype, const char* regular_case, |
+ const char* nested_builder_case, |
+ const char* trailing_code) const; |
}; |
class RepeatedMessageFieldGenerator : public FieldGenerator { |
public: |
- explicit RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor); |
+ explicit RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor, |
+ int messageBitIndex, int builderBitIndex); |
~RepeatedMessageFieldGenerator(); |
// implements FieldGenerator --------------------------------------- |
+ int GetNumBitsForMessage() const; |
+ int GetNumBitsForBuilder() const; |
+ void GenerateInterfaceMembers(io::Printer* printer) const; |
void GenerateMembers(io::Printer* printer) const; |
void GenerateBuilderMembers(io::Printer* printer) const; |
void GenerateInitializationCode(io::Printer* printer) const; |
+ void GenerateBuilderClearCode(io::Printer* printer) const; |
void GenerateMergingCode(io::Printer* printer) const; |
void GenerateBuildingCode(io::Printer* printer) const; |
void GenerateParsingCode(io::Printer* printer) const; |
void GenerateSerializationCode(io::Printer* printer) const; |
void GenerateSerializedSizeCode(io::Printer* printer) const; |
+ void GenerateFieldBuilderInitializationCode(io::Printer* printer) const; |
+ void GenerateEqualsCode(io::Printer* printer) const; |
+ void GenerateHashCode(io::Printer* printer) const; |
string GetBoxedType() const; |
private: |
const FieldDescriptor* descriptor_; |
map<string, string> variables_; |
+ const int messageBitIndex_; |
+ const int builderBitIndex_; |
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedMessageFieldGenerator); |
+ |
+ void PrintNestedBuilderCondition(io::Printer* printer, |
+ const char* regular_case, const char* nested_builder_case) const; |
+ void PrintNestedBuilderFunction(io::Printer* printer, |
+ const char* method_prototype, const char* regular_case, |
+ const char* nested_builder_case, |
+ const char* trailing_code) const; |
}; |
} // namespace java |