Refactoring of CodedInputStream.Read??? to use boolean return with out param.
diff --git a/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs b/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
index 1b523c3..2476cf1 100644
--- a/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
+++ b/src/ProtocolBuffers.Test/TestProtos/UnitTestXmlSerializerTestProtoFile.cs
@@ -337,23 +337,24 @@
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- ParseUnknownField(input, unknownFields, extensionRegistry, tag);
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
break;
}
case 24: {
- int rawValue = input.ReadEnum();
- if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.EnumOptions), rawValue)) {
+ scg::ICollection<object> unknownItems;
+ input.ReadEnumArray<global::Google.ProtocolBuffers.TestProtos.EnumOptions>(tag, field_name, result.options_, out unknownItems);
+ if (unknownItems != null) {
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- unknownFields.MergeVarintField(3, (ulong) rawValue);
- } else {
- AddOptions((global::Google.ProtocolBuffers.TestProtos.EnumOptions) rawValue);
+ foreach (object rawValue in unknownItems)
+ if (rawValue is int)
+ unknownFields.MergeVarintField(3, (ulong)(int)rawValue);
}
break;
}
case 34: {
- Binary = input.ReadBytes();
+ result.hasBinary |= input.ReadBytes(ref result.binary_);
break;
}
}
@@ -581,7 +582,7 @@
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- ParseUnknownField(input, unknownFields, extensionRegistry, tag);
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
break;
}
}
@@ -842,23 +843,24 @@
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- ParseUnknownField(input, unknownFields, extensionRegistry, tag);
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
break;
}
case 24: {
- int rawValue = input.ReadEnum();
- if (!global::System.Enum.IsDefined(typeof(global::Google.ProtocolBuffers.TestProtos.EnumOptions), rawValue)) {
+ scg::ICollection<object> unknownItems;
+ input.ReadEnumArray<global::Google.ProtocolBuffers.TestProtos.EnumOptions>(tag, field_name, result.options_, out unknownItems);
+ if (unknownItems != null) {
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- unknownFields.MergeVarintField(3, (ulong) rawValue);
- } else {
- AddOptions((global::Google.ProtocolBuffers.TestProtos.EnumOptions) rawValue);
+ foreach (object rawValue in unknownItems)
+ if (rawValue is int)
+ unknownFields.MergeVarintField(3, (ulong)(int)rawValue);
}
break;
}
case 34: {
- Binary = input.ReadBytes();
+ result.hasBinary |= input.ReadBytes(ref result.binary_);
break;
}
}
@@ -1221,7 +1223,7 @@
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- ParseUnknownField(input, unknownFields, extensionRegistry, tag);
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
break;
}
case 10: {
@@ -1234,29 +1236,27 @@
break;
}
case 16: {
- AddNumbers(input.ReadInt32());
+ input.ReadPrimitiveArray(pbd::FieldType.Int32, tag, field_name, result.numbers_);
break;
}
case 26: {
- Text = input.ReadString();
+ result.hasText |= input.ReadString(ref result.text_);
break;
}
case 40: {
- Valid = input.ReadBool();
+ result.hasValid |= input.ReadBool(ref result.valid_);
break;
}
case 48: {
- Number = input.ReadInt64();
+ result.hasNumber |= input.ReadInt64(ref result.number_);
break;
}
case 3211: {
- global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.CreateBuilder();
- input.ReadGroup(401, subBuilder, extensionRegistry);
- AddChildren(subBuilder.BuildPartial());
+ input.ReadGroupArray(tag, field_name, result.children_, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.DefaultInstance, extensionRegistry);
break;
}
case 5602: {
- AddTextlines(input.ReadString());
+ input.ReadPrimitiveArray(pbd::FieldType.String, tag, field_name, result.textlines_);
break;
}
}
@@ -1642,11 +1642,11 @@
if (unknownFields == null) {
unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);
}
- ParseUnknownField(input, unknownFields, extensionRegistry, tag);
+ ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);
break;
}
case 8: {
- Number = input.ReadInt32();
+ result.hasNumber |= input.ReadInt32(ref result.number_);
break;
}
}