Index: third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.h |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.h b/third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.h |
index 5392d6d72363c2eef888feef51089e27ee7881f7..c850423e71733a940e78f7dd52c7a8b6861883eb 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.h |
+++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_helpers.h |
@@ -170,44 +170,41 @@ inline string ImmutableDefaultValue(const FieldDescriptor* field, |
} |
bool IsDefaultValueJavaDefault(const FieldDescriptor* field); |
-// Does this message class have generated parsing, serialization, and other |
-// standard methods for which reflection-based fallback implementations exist? |
-inline bool HasGeneratedMethods(const Descriptor* descriptor) { |
- return descriptor->file()->options().optimize_for() != |
- FileOptions::CODE_SIZE; |
-} |
- |
// Does this message have specialized equals() and hashCode() methods? |
inline bool HasEqualsAndHashCode(const Descriptor* descriptor) { |
return descriptor->file()->options().java_generate_equals_and_hash(); |
} |
// Does this message class have descriptor and reflection methods? |
-inline bool HasDescriptorMethods(const Descriptor* descriptor) { |
- return descriptor->file()->options().optimize_for() != |
- FileOptions::LITE_RUNTIME; |
+inline bool HasDescriptorMethods(const Descriptor* descriptor, |
+ bool enforce_lite) { |
+ return !enforce_lite && |
+ descriptor->file()->options().optimize_for() != |
+ FileOptions::LITE_RUNTIME; |
} |
-inline bool HasDescriptorMethods(const EnumDescriptor* descriptor) { |
- return descriptor->file()->options().optimize_for() != |
- FileOptions::LITE_RUNTIME; |
+inline bool HasDescriptorMethods(const EnumDescriptor* descriptor, |
+ bool enforce_lite) { |
+ return !enforce_lite && |
+ descriptor->file()->options().optimize_for() != |
+ FileOptions::LITE_RUNTIME; |
} |
-inline bool HasDescriptorMethods(const FileDescriptor* descriptor) { |
- return descriptor->options().optimize_for() != |
- FileOptions::LITE_RUNTIME; |
+inline bool HasDescriptorMethods(const FileDescriptor* descriptor, |
+ bool enforce_lite) { |
+ return !enforce_lite && |
+ descriptor->options().optimize_for() != FileOptions::LITE_RUNTIME; |
} |
// Should we generate generic services for this file? |
-inline bool HasGenericServices(const FileDescriptor *file) { |
+inline bool HasGenericServices(const FileDescriptor *file, bool enforce_lite) { |
return file->service_count() > 0 && |
- file->options().optimize_for() != FileOptions::LITE_RUNTIME && |
+ HasDescriptorMethods(file, enforce_lite) && |
file->options().java_generic_services(); |
} |
-inline bool IsLazy(const FieldDescriptor* descriptor) { |
+inline bool IsLazy(const FieldDescriptor* descriptor, bool enforce_lite) { |
// Currently, the proto-lite version suports lazy field. |
// TODO(niwasaki): Support lazy fields also for other proto runtimes. |
- if (descriptor->file()->options().optimize_for() != |
- FileOptions::LITE_RUNTIME) { |
+ if (HasDescriptorMethods(descriptor->file(), enforce_lite)) { |
return false; |
} |
return descriptor->options().lazy(); |