Index: third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc |
diff --git a/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc b/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc |
index e0230a244b4cc5f531b1f38d9b76812c1a6ef459..532da6b9e104fab09e3b464c9bbdece52b853e3a 100644 |
--- a/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc |
+++ b/third_party/protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc |
@@ -60,8 +60,9 @@ bool CompareFieldNumbers(const FieldDescriptor* d1, const FieldDescriptor* d2) { |
return d1->number() < d2->number(); |
} |
-MessageGenerator::MessageGenerator(const Descriptor* descriptor) |
- : SourceGeneratorBase(descriptor->file()), |
+MessageGenerator::MessageGenerator(const Descriptor* descriptor, |
+ const Options* options) |
+ : SourceGeneratorBase(descriptor->file(), options), |
descriptor_(descriptor) { |
// sorted field names |
@@ -185,7 +186,8 @@ void MessageGenerator::Generate(io::Printer* printer) { |
} |
printer->Outdent(); |
printer->Print("}\n"); |
- // TODO: Should we put the oneof .proto comments here? It's unclear exactly where they should go. |
+ // TODO: Should we put the oneof .proto comments here? |
+ // It's unclear exactly where they should go. |
printer->Print( |
vars, |
"private $property_name$OneofCase $name$Case_ = $property_name$OneofCase.None;\n" |
@@ -214,13 +216,14 @@ void MessageGenerator::Generate(io::Printer* printer) { |
printer->Print("public static partial class Types {\n"); |
printer->Indent(); |
for (int i = 0; i < descriptor_->enum_type_count(); i++) { |
- EnumGenerator enumGenerator(descriptor_->enum_type(i)); |
+ EnumGenerator enumGenerator(descriptor_->enum_type(i), this->options()); |
enumGenerator.Generate(printer); |
} |
for (int i = 0; i < descriptor_->nested_type_count(); i++) { |
// Don't generate nested types for maps... |
if (!IsMapEntryMessage(descriptor_->nested_type(i))) { |
- MessageGenerator messageGenerator(descriptor_->nested_type(i)); |
+ MessageGenerator messageGenerator( |
+ descriptor_->nested_type(i), this->options()); |
messageGenerator.Generate(printer); |
} |
} |
@@ -268,7 +271,8 @@ void MessageGenerator::GenerateCloningCode(io::Printer* printer) { |
// Clone just the right field for each oneof |
for (int i = 0; i < descriptor_->oneof_decl_count(); ++i) { |
vars["name"] = UnderscoresToCamelCase(descriptor_->oneof_decl(i)->name(), false); |
- vars["property_name"] = UnderscoresToCamelCase(descriptor_->oneof_decl(i)->name(), true); |
+ vars["property_name"] = UnderscoresToCamelCase( |
+ descriptor_->oneof_decl(i)->name(), true); |
printer->Print(vars, "switch (other.$property_name$Case) {\n"); |
printer->Indent(); |
for (int j = 0; j < descriptor_->oneof_decl(i)->field_count(); j++) { |
@@ -449,7 +453,8 @@ void MessageGenerator::GenerateMergingMethods(io::Printer* printer) { |
uint32 tag = internal::WireFormatLite::MakeTag(field->number(), wt); |
// Handle both packed and unpacked repeated fields with the same Read*Array call; |
// the two generated cases are the packed and unpacked tags. |
- // TODO(jonskeet): Check that is_packable is equivalent to is_repeated && wt in { VARINT, FIXED32, FIXED64 }. |
+ // TODO(jonskeet): Check that is_packable is equivalent to |
+ // is_repeated && wt in { VARINT, FIXED32, FIXED64 }. |
// It looks like it is... |
if (field->is_packable()) { |
printer->Print( |
@@ -490,7 +495,7 @@ int MessageGenerator::GetFieldOrdinal(const FieldDescriptor* descriptor) { |
FieldGeneratorBase* MessageGenerator::CreateFieldGeneratorInternal( |
const FieldDescriptor* descriptor) { |
- return CreateFieldGenerator(descriptor, GetFieldOrdinal(descriptor)); |
+ return CreateFieldGenerator(descriptor, GetFieldOrdinal(descriptor), this->options()); |
} |
} // namespace csharp |