From 123e534914df3dbdcd918ec4f8d79c47a3bf85e5 Mon Sep 17 00:00:00 2001 From: csharptest Date: Fri, 3 Jun 2011 14:15:21 -0500 Subject: Canged CodedInputStream.ReadTag to use boolean result with out params to support reading a field name rather than a field tag. --- src/AddressBook/AddressBookProtos.cs | 45 +++++++++++++++++++++--------------- 1 file changed, 27 insertions(+), 18 deletions(-) (limited to 'src/AddressBook') diff --git a/src/AddressBook/AddressBookProtos.cs b/src/AddressBook/AddressBookProtos.cs index 2bb45d0a..1d60f2cd 100644 --- a/src/AddressBook/AddressBookProtos.cs +++ b/src/AddressBook/AddressBookProtos.cs @@ -287,14 +287,12 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { pb::UnknownFieldSet.Builder unknownFields = null; - while (true) { - uint tag = input.ReadTag(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { switch (tag) { case 0: { - if (unknownFields != null) { - this.UnknownFields = unknownFields.Build(); - } - return this; + throw InvalidProtocolBufferException.InvalidTag(); } default: { if (pb::WireFormat.IsEndGroupTag(tag)) { @@ -327,6 +325,11 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { } } } + + if (unknownFields != null) { + this.UnknownFields = unknownFields.Build(); + } + return this; } @@ -582,14 +585,12 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { pb::UnknownFieldSet.Builder unknownFields = null; - while (true) { - uint tag = input.ReadTag(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { switch (tag) { case 0: { - if (unknownFields != null) { - this.UnknownFields = unknownFields.Build(); - } - return this; + throw InvalidProtocolBufferException.InvalidTag(); } default: { if (pb::WireFormat.IsEndGroupTag(tag)) { @@ -624,6 +625,11 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { } } } + + if (unknownFields != null) { + this.UnknownFields = unknownFields.Build(); + } + return this; } @@ -899,14 +905,12 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) { pb::UnknownFieldSet.Builder unknownFields = null; - while (true) { - uint tag = input.ReadTag(); + uint tag; + string field_name; + while (input.ReadTag(out tag, out field_name)) { switch (tag) { case 0: { - if (unknownFields != null) { - this.UnknownFields = unknownFields.Build(); - } - return this; + throw InvalidProtocolBufferException.InvalidTag(); } default: { if (pb::WireFormat.IsEndGroupTag(tag)) { @@ -929,6 +933,11 @@ namespace Google.ProtocolBuffers.Examples.AddressBook { } } } + + if (unknownFields != null) { + this.UnknownFields = unknownFields.Build(); + } + return this; } -- cgit v1.2.3