aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-14 20:35:28 +0100
committerJon Skeet <skeet@pobox.com>2008-08-14 20:35:28 +0100
commit19ed9c07821e39c5a33399b7cfc21ab1a4dc1f58 (patch)
tree609b3bbebb986bf65fe8802a0a058bdbd448c003 /csharp/ProtocolBuffers
parenta80a37ccd5c1d52efede7eaf3c4cc5b69bea15d7 (diff)
downloadprotobuf-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.cs5
-rw-r--r--csharp/ProtocolBuffers/GeneratedExtensionBase.cs3
-rw-r--r--csharp/ProtocolBuffers/GeneratedRepeatException.cs2
-rw-r--r--csharp/ProtocolBuffers/IBuilder.cs3
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>