aboutsummaryrefslogtreecommitdiff
path: root/src/ProtoGen
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2009-01-27 14:43:10 +0000
committerJon Skeet <skeet@pobox.com>2009-01-27 14:43:10 +0000
commit49fcd4f794bb96c3dcf729f81c0ffcb19fdadc14 (patch)
tree8ec88242bda7104a649c2273770605f89a4aba37 /src/ProtoGen
parent642a8140c88dfb61f5f4812fc179e4f42beb4978 (diff)
downloadprotobuf-49fcd4f794bb96c3dcf729f81c0ffcb19fdadc14.tar.gz
protobuf-49fcd4f794bb96c3dcf729f81c0ffcb19fdadc14.tar.bz2
protobuf-49fcd4f794bb96c3dcf729f81c0ffcb19fdadc14.zip
Merge extensions correctly
Diffstat (limited to 'src/ProtoGen')
-rw-r--r--src/ProtoGen/MessageGenerator.cs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ProtoGen/MessageGenerator.cs b/src/ProtoGen/MessageGenerator.cs
index 1e10ce6c..efd02db1 100644
--- a/src/ProtoGen/MessageGenerator.cs
+++ b/src/ProtoGen/MessageGenerator.cs
@@ -351,6 +351,10 @@ namespace Google.ProtocolBuffers.ProtoGen {
foreach (FieldDescriptor field in Descriptor.Fields) {
SourceGenerators.CreateFieldGenerator(field).GenerateMergingCode(writer);
}
+ // if message type has extensions
+ if (Descriptor.Proto.ExtensionRangeCount > 0) {
+ writer.WriteLine(" this.MergeExtensionFields(other);");
+ }
writer.WriteLine("this.MergeUnknownFields(other.UnknownFields);");
writer.WriteLine("return this;");
writer.Outdent();