diff options
author | Jon Skeet <skeet@pobox.com> | 2008-08-14 20:35:28 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-08-14 20:35:28 +0100 |
commit | 19ed9c07821e39c5a33399b7cfc21ab1a4dc1f58 (patch) | |
tree | 609b3bbebb986bf65fe8802a0a058bdbd448c003 /csharp/ProtocolBuffers | |
parent | a80a37ccd5c1d52efede7eaf3c4cc5b69bea15d7 (diff) | |
download | protobuf-19ed9c07821e39c5a33399b7cfc21ab1a4dc1f58.tar.gz protobuf-19ed9c07821e39c5a33399b7cfc21ab1a4dc1f58.tar.bz2 protobuf-19ed9c07821e39c5a33399b7cfc21ab1a4dc1f58.zip |
UnknownFieldSet tests, and a fix to repeated extension elements.
Diffstat (limited to 'csharp/ProtocolBuffers')
-rw-r--r-- | csharp/ProtocolBuffers/AbstractBuilder.cs | 5 | ||||
-rw-r--r-- | csharp/ProtocolBuffers/GeneratedExtensionBase.cs | 3 | ||||
-rw-r--r-- | csharp/ProtocolBuffers/GeneratedRepeatException.cs | 2 | ||||
-rw-r--r-- | csharp/ProtocolBuffers/IBuilder.cs | 3 |
4 files changed, 11 insertions, 2 deletions
diff --git a/csharp/ProtocolBuffers/AbstractBuilder.cs b/csharp/ProtocolBuffers/AbstractBuilder.cs index 261bbcf3..bb71edac 100644 --- a/csharp/ProtocolBuffers/AbstractBuilder.cs +++ b/csharp/ProtocolBuffers/AbstractBuilder.cs @@ -84,6 +84,11 @@ namespace Google.ProtocolBuffers { } #endregion + public TBuilder SetUnknownFields(UnknownFieldSet fields) { + UnknownFields = fields; + return ThisBuilder; + } + public virtual TBuilder Clear() { foreach(FieldDescriptor field in AllFields.Keys) { ClearField(field); diff --git a/csharp/ProtocolBuffers/GeneratedExtensionBase.cs b/csharp/ProtocolBuffers/GeneratedExtensionBase.cs index 028dc76a..6a5bc392 100644 --- a/csharp/ProtocolBuffers/GeneratedExtensionBase.cs +++ b/csharp/ProtocolBuffers/GeneratedExtensionBase.cs @@ -78,7 +78,8 @@ namespace Google.ProtocolBuffers { } case MappedType.Enum: // Just return a boxed int - that can be unboxed to the enum - return ((EnumValueDescriptor) value).Number; + EnumValueDescriptor enumValue = (EnumValueDescriptor) value; + return enumValue.Number; default: return value; } diff --git a/csharp/ProtocolBuffers/GeneratedRepeatException.cs b/csharp/ProtocolBuffers/GeneratedRepeatException.cs index f7dee511..ccf8a50e 100644 --- a/csharp/ProtocolBuffers/GeneratedRepeatException.cs +++ b/csharp/ProtocolBuffers/GeneratedRepeatException.cs @@ -31,7 +31,7 @@ namespace Google.ProtocolBuffers { // Must convert the whole list. List<TExtensionElement> result = new List<TExtensionElement>(); foreach (object element in (IEnumerable) value) { - ((IList) result).Add(SingularFromReflectionType(element)); + result.Add((TExtensionElement) SingularFromReflectionType(element)); } return result; } else { diff --git a/csharp/ProtocolBuffers/IBuilder.cs b/csharp/ProtocolBuffers/IBuilder.cs index 1671c84e..52263feb 100644 --- a/csharp/ProtocolBuffers/IBuilder.cs +++ b/csharp/ProtocolBuffers/IBuilder.cs @@ -123,6 +123,9 @@ namespace Google.ProtocolBuffers { public interface IBuilder<TMessage, TBuilder> : IBuilder where TMessage : IMessage<TMessage, TBuilder> where TBuilder : IBuilder<TMessage, TBuilder> { + + TBuilder SetUnknownFields(UnknownFieldSet unknownFields); + /// <summary> /// Resets all fields to their default values. /// </summary> |