| 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
|
|
|