aboutsummaryrefslogtreecommitdiff
path: root/src/AddressBook
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2009-03-05 14:23:17 +0000
committerJon Skeet <skeet@pobox.com>2009-03-05 14:23:17 +0000
commit7de1aef8488e48d9df35d2207ef28de0ea42a296 (patch)
tree7808804ff3a15e70932c6dab09965f4816ad1066 /src/AddressBook
parent75f4268e601fbd6a0de050b5da4aa7767c86c513 (diff)
downloadprotobuf-7de1aef8488e48d9df35d2207ef28de0ea42a296.tar.gz
protobuf-7de1aef8488e48d9df35d2207ef28de0ea42a296.tar.bz2
protobuf-7de1aef8488e48d9df35d2207ef28de0ea42a296.zip
Avoid creating UnknownFieldSets unless we really have to.
Diffstat (limited to 'src/AddressBook')
-rw-r--r--src/AddressBook/AddressBookProtos.cs51
1 files changed, 39 insertions, 12 deletions
diff --git a/src/AddressBook/AddressBookProtos.cs b/src/AddressBook/AddressBookProtos.cs
index 701e0165..60f02d9d 100644
--- a/src/AddressBook/AddressBookProtos.cs
+++ b/src/AddressBook/AddressBookProtos.cs
@@ -246,19 +246,27 @@ namespace Google.ProtocolBuffers.Examples.AddressBook {
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
- pb::UnknownFieldSet.Builder unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
- this.UnknownFields = unknownFields.Build();
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
default: {
- if (!ParseUnknownField(input, unknownFields, extensionRegistry, tag)) {
- this.UnknownFields = unknownFields.Build();
+ if (pb::WireFormat.IsEndGroupTag(tag)) {
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
+ if (unknownFields == null) {
+ unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ }
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
@@ -268,6 +276,9 @@ namespace Google.ProtocolBuffers.Examples.AddressBook {
case 16: {
int rawValue = input.ReadEnum();
if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType), rawValue)) {
+ if (unknownFields == null) {
+ unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ }
unknownFields.MergeVarintField(2, (ulong) rawValue);
} else {
Type = (global::Google.ProtocolBuffers.Examples.AddressBook.Person.Types.PhoneType) rawValue;
@@ -510,19 +521,27 @@ namespace Google.ProtocolBuffers.Examples.AddressBook {
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
- pb::UnknownFieldSet.Builder unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
- this.UnknownFields = unknownFields.Build();
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
default: {
- if (!ParseUnknownField(input, unknownFields, extensionRegistry, tag)) {
- this.UnknownFields = unknownFields.Build();
+ if (pb::WireFormat.IsEndGroupTag(tag)) {
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
+ if (unknownFields == null) {
+ unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ }
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {
@@ -799,19 +818,27 @@ namespace Google.ProtocolBuffers.Examples.AddressBook {
}
public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
- pb::UnknownFieldSet.Builder unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ pb::UnknownFieldSet.Builder unknownFields = null;
while (true) {
uint tag = input.ReadTag();
switch (tag) {
case 0: {
- this.UnknownFields = unknownFields.Build();
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
default: {
- if (!ParseUnknownField(input, unknownFields, extensionRegistry, tag)) {
- this.UnknownFields = unknownFields.Build();
+ if (pb::WireFormat.IsEndGroupTag(tag)) {
+ if (unknownFields != null) {
+ this.UnknownFields = unknownFields.Build();
+ }
return this;
}
+ if (unknownFields == null) {
+ unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
+ }
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag);
break;
}
case 10: {