aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/compiler/java/java_extension.h
diff options
context:
space:
mode:
authorDaniel Martin <fizbin@gmail.com>2014-11-25 10:37:57 -0500
committerDaniel Martin <daniel.martin@crowdstrike.com>2014-11-25 12:45:17 -0500
commite2416caf906a680a27bd89a91f14b2cdcaaa1634 (patch)
treecd6b982cca9a8de3e2a78bd3cd06f4abdf71c20a /src/google/protobuf/compiler/java/java_extension.h
parent99aa0f9e8f1a88def7bdebf1385678559cda0707 (diff)
downloadprotobuf-e2416caf906a680a27bd89a91f14b2cdcaaa1634.tar.gz
protobuf-e2416caf906a680a27bd89a91f14b2cdcaaa1634.tar.bz2
protobuf-e2416caf906a680a27bd89a91f14b2cdcaaa1634.zip
Fix java compilation issues when processing large .proto files
Fix issues 579 and 501 on the code.google.com issues list. Specifically, large .proto files lead to too much static code, leading to a compilation error from javac: "code too large". This divides the code used in static initialization into multiple methods to avoid that error. Also, this incorporates the fix in issue 501 on the code.google.com issues list to call registry.add only once per extension.
Diffstat (limited to 'src/google/protobuf/compiler/java/java_extension.h')
-rw-r--r--src/google/protobuf/compiler/java/java_extension.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/google/protobuf/compiler/java/java_extension.h b/src/google/protobuf/compiler/java/java_extension.h
index f1701fb5..fac5ba00 100644
--- a/src/google/protobuf/compiler/java/java_extension.h
+++ b/src/google/protobuf/compiler/java/java_extension.h
@@ -67,8 +67,8 @@ class ExtensionGenerator {
virtual ~ExtensionGenerator() {}
virtual void Generate(io::Printer* printer) = 0;
- virtual void GenerateNonNestedInitializationCode(io::Printer* printer) = 0;
- virtual void GenerateRegistrationCode(io::Printer* printer) = 0;
+ virtual int GenerateNonNestedInitializationCode(io::Printer* printer) = 0;
+ virtual int GenerateRegistrationCode(io::Printer* printer) = 0;
protected:
static void InitTemplateVars(const FieldDescriptor* descriptor,
@@ -88,8 +88,8 @@ class ImmutableExtensionGenerator : public ExtensionGenerator {
virtual ~ImmutableExtensionGenerator();
virtual void Generate(io::Printer* printer);
- virtual void GenerateNonNestedInitializationCode(io::Printer* printer);
- virtual void GenerateRegistrationCode(io::Printer* printer);
+ virtual int GenerateNonNestedInitializationCode(io::Printer* printer);
+ virtual int GenerateRegistrationCode(io::Printer* printer);
protected:
const FieldDescriptor* descriptor_;