aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/google/protobuf/compiler/java/java_message.h
diff options
context:
space:
mode:
authorGravatar Feng Xiao <xfxyjwf@gmail.com>2015-05-07 10:28:52 -0700
committerGravatar Feng Xiao <xfxyjwf@gmail.com>2015-05-07 10:28:52 -0700
commit03e170446b5d695de0c7a3c8f31dc4f2bf49bfc4 (patch)
treeaeb5de91d343edf6a76ac2bd621e869d206cb880 /src/google/protobuf/compiler/java/java_message.h
parent048f123ed6c45efb4d4d1529cb2ad9e8fce176e6 (diff)
parent0f1393d66ed0ceb81ea784e050b7b58524b53331 (diff)
Merge pull request #101 from fizbin/fix_large_proto_java_code
Fix java compilation issues when processing large .proto files
Diffstat (limited to 'src/google/protobuf/compiler/java/java_message.h')
-rw-r--r--src/google/protobuf/compiler/java/java_message.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/google/protobuf/compiler/java/java_message.h b/src/google/protobuf/compiler/java/java_message.h
index 016fdd5d..58dd5f99 100644
--- a/src/google/protobuf/compiler/java/java_message.h
+++ b/src/google/protobuf/compiler/java/java_message.h
@@ -67,8 +67,8 @@ class MessageGenerator {
virtual void GenerateStaticVariables(io::Printer* printer) = 0;
// Output code which initializes the static variables generated by
- // GenerateStaticVariables().
- virtual void GenerateStaticVariableInitializers(io::Printer* printer) = 0;
+ // GenerateStaticVariables(). Returns an estimate of bytecode size.
+ virtual int GenerateStaticVariableInitializers(io::Printer* printer) = 0;
// Generate the class itself.
virtual void Generate(io::Printer* printer) = 0;
@@ -97,7 +97,9 @@ class ImmutableMessageGenerator : public MessageGenerator {
virtual void GenerateInterface(io::Printer* printer);
virtual void GenerateExtensionRegistrationCode(io::Printer* printer);
virtual void GenerateStaticVariables(io::Printer* printer);
- virtual void GenerateStaticVariableInitializers(io::Printer* printer);
+
+ // Returns an estimate of the number of bytes the printed code will compile to
+ virtual int GenerateStaticVariableInitializers(io::Printer* printer);
private:
enum UseMemoization {
@@ -106,7 +108,9 @@ class ImmutableMessageGenerator : public MessageGenerator {
};
void GenerateFieldAccessorTable(io::Printer* printer);
- void GenerateFieldAccessorTableInitializer(io::Printer* printer);
+
+ // Returns an estimate of the number of bytes the printed code will compile to
+ int GenerateFieldAccessorTableInitializer(io::Printer* printer);
void GenerateMessageSerializationMethods(io::Printer* printer);
void GenerateParseFromMethods(io::Printer* printer);