aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffers
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-06-03 21:57:15 -0500
committerrogerk <devnull@localhost>2011-06-03 21:57:15 -0500
commit17699c21f98bda5ca039be3f5d43c9b0aa462aea (patch)
treea918f950dbffbc6ef719a58dc71fb10e0db50f6f /src/ProtocolBuffers
parentd2af9e923f4f2d7f7c56a2e74d5a26536aae0369 (diff)
downloadprotobuf-17699c21f98bda5ca039be3f5d43c9b0aa462aea.tar.gz
protobuf-17699c21f98bda5ca039be3f5d43c9b0aa462aea.tar.bz2
protobuf-17699c21f98bda5ca039be3f5d43c9b0aa462aea.zip
Extracted ICodedInputStream interface
Diffstat (limited to 'src/ProtocolBuffers')
-rw-r--r--src/ProtocolBuffers/AbstractBuilder.cs6
-rw-r--r--src/ProtocolBuffers/AbstractBuilderLite.cs8
-rw-r--r--src/ProtocolBuffers/CodedInputStream.cs2
-rw-r--r--src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs32
-rw-r--r--src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs144
-rw-r--r--src/ProtocolBuffers/DynamicMessage.cs2
-rw-r--r--src/ProtocolBuffers/ExtendableBuilder.cs2
-rw-r--r--src/ProtocolBuffers/ExtendableBuilderLite.cs2
-rw-r--r--src/ProtocolBuffers/GeneratedBuilder.cs2
-rw-r--r--src/ProtocolBuffers/GeneratedBuilderLite.cs2
-rw-r--r--src/ProtocolBuffers/IBuilder.cs22
-rw-r--r--src/ProtocolBuffers/IBuilderLite.cs22
-rw-r--r--src/ProtocolBuffers/ICodedInputStream.cs198
-rw-r--r--src/ProtocolBuffers/ProtocolBuffers.csproj1
-rw-r--r--src/ProtocolBuffers/ProtocolBuffersLite.csproj1
-rw-r--r--src/ProtocolBuffers/UnknownFieldSet.cs29
16 files changed, 339 insertions, 136 deletions
diff --git a/src/ProtocolBuffers/AbstractBuilder.cs b/src/ProtocolBuffers/AbstractBuilder.cs
index ae5b3063..ca7e3649 100644
--- a/src/ProtocolBuffers/AbstractBuilder.cs
+++ b/src/ProtocolBuffers/AbstractBuilder.cs
@@ -159,7 +159,7 @@ namespace Google.ProtocolBuffers
return ThisBuilder;
}
- public override TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry)
+ public override TBuilder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
{
UnknownFieldSet.Builder unknownFields = UnknownFieldSet.CreateBuilder(UnknownFields);
unknownFields.MergeFrom(input, extensionRegistry, this);
@@ -209,12 +209,12 @@ namespace Google.ProtocolBuffers
return MergeFrom(message);
}
- IBuilder IBuilder.WeakMergeFrom(CodedInputStream input)
+ IBuilder IBuilder.WeakMergeFrom(ICodedInputStream input)
{
return MergeFrom(input);
}
- IBuilder IBuilder.WeakMergeFrom(CodedInputStream input, ExtensionRegistry registry)
+ IBuilder IBuilder.WeakMergeFrom(ICodedInputStream input, ExtensionRegistry registry)
{
return MergeFrom(input, registry);
}
diff --git a/src/ProtocolBuffers/AbstractBuilderLite.cs b/src/ProtocolBuffers/AbstractBuilderLite.cs
index 756f621e..8ab0ca97 100644
--- a/src/ProtocolBuffers/AbstractBuilderLite.cs
+++ b/src/ProtocolBuffers/AbstractBuilderLite.cs
@@ -62,13 +62,13 @@ namespace Google.ProtocolBuffers
public abstract TBuilder MergeFrom(IMessageLite other);
- public abstract TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry);
+ public abstract TBuilder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry);
public abstract TMessage DefaultInstanceForType { get; }
#region IBuilderLite<TMessage,TBuilder> Members
- public virtual TBuilder MergeFrom(CodedInputStream input)
+ public virtual TBuilder MergeFrom(ICodedInputStream input)
{
return MergeFrom(input, ExtensionRegistry.CreateInstance());
}
@@ -154,12 +154,12 @@ namespace Google.ProtocolBuffers
return MergeFrom(data, registry);
}
- IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input)
+ IBuilderLite IBuilderLite.WeakMergeFrom(ICodedInputStream input)
{
return MergeFrom(input);
}
- IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input, ExtensionRegistry registry)
+ IBuilderLite IBuilderLite.WeakMergeFrom(ICodedInputStream input, ExtensionRegistry registry)
{
return MergeFrom(input, registry);
}
diff --git a/src/ProtocolBuffers/CodedInputStream.cs b/src/ProtocolBuffers/CodedInputStream.cs
index 92e547fc..74fa9475 100644
--- a/src/ProtocolBuffers/CodedInputStream.cs
+++ b/src/ProtocolBuffers/CodedInputStream.cs
@@ -58,7 +58,7 @@ namespace Google.ProtocolBuffers
/// TODO(jonskeet): Consider whether recursion and size limits shouldn't be readonly,
/// set at construction time.
/// </remarks>
- public sealed partial class CodedInputStream
+ public sealed partial class CodedInputStream : ICodedInputStream
{
private readonly byte[] buffer;
private int bufferSize;
diff --git a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
index 5dbab8c8..a27e1904 100644
--- a/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/CSharpOptions.cs
@@ -400,10 +400,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static CSharpFileOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static CSharpFileOptions ParseFrom(pb::CodedInputStream input) {
+ public static CSharpFileOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static CSharpFileOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static CSharpFileOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -508,11 +508,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -937,10 +937,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static CSharpFieldOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input) {
+ public static CSharpFieldOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static CSharpFieldOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static CSharpFieldOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -1009,11 +1009,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1162,10 +1162,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static CSharpServiceOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static CSharpServiceOptions ParseFrom(pb::CodedInputStream input) {
+ public static CSharpServiceOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static CSharpServiceOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static CSharpServiceOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -1234,11 +1234,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1387,10 +1387,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static CSharpMethodOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static CSharpMethodOptions ParseFrom(pb::CodedInputStream input) {
+ public static CSharpMethodOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static CSharpMethodOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static CSharpMethodOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -1459,11 +1459,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
diff --git a/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs b/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
index 365a0449..3bacc235 100644
--- a/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
+++ b/src/ProtocolBuffers/DescriptorProtos/DescriptorProtoFile.cs
@@ -321,10 +321,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static FileDescriptorSet ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static FileDescriptorSet ParseFrom(pb::CodedInputStream input) {
+ public static FileDescriptorSet ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static FileDescriptorSet ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static FileDescriptorSet ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -394,11 +394,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -708,10 +708,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static FileDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static FileDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static FileDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static FileDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static FileDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -806,11 +806,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1273,10 +1273,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static ExtensionRange ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static ExtensionRange ParseFrom(pb::CodedInputStream input) {
+ public static ExtensionRange ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static ExtensionRange ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static ExtensionRange ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -1348,11 +1348,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -1621,10 +1621,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static DescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static DescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static DescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static DescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static DescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -1716,11 +1716,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2278,10 +2278,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static FieldDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static FieldDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static FieldDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static FieldDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static FieldDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -2371,11 +2371,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -2760,10 +2760,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static EnumDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static EnumDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static EnumDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static EnumDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static EnumDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -2839,11 +2839,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3114,10 +3114,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static EnumValueDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static EnumValueDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static EnumValueDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static EnumValueDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static EnumValueDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -3192,11 +3192,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3452,10 +3452,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static ServiceDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static ServiceDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static ServiceDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static ServiceDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static ServiceDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -3531,11 +3531,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -3822,10 +3822,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static MethodDescriptorProto ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static MethodDescriptorProto ParseFrom(pb::CodedInputStream input) {
+ public static MethodDescriptorProto ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static MethodDescriptorProto ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static MethodDescriptorProto ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -3903,11 +3903,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -4284,10 +4284,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static FileOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static FileOptions ParseFrom(pb::CodedInputStream input) {
+ public static FileOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static FileOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static FileOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -4379,11 +4379,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -4756,10 +4756,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static MessageOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static MessageOptions ParseFrom(pb::CodedInputStream input) {
+ public static MessageOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static MessageOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static MessageOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -4836,11 +4836,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -5141,10 +5141,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static FieldOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static FieldOptions ParseFrom(pb::CodedInputStream input) {
+ public static FieldOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static FieldOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static FieldOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -5227,11 +5227,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -5505,10 +5505,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static EnumOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static EnumOptions ParseFrom(pb::CodedInputStream input) {
+ public static EnumOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static EnumOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static EnumOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -5579,11 +5579,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -5760,10 +5760,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static EnumValueOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static EnumValueOptions ParseFrom(pb::CodedInputStream input) {
+ public static EnumValueOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static EnumValueOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static EnumValueOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -5834,11 +5834,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -6015,10 +6015,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static ServiceOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static ServiceOptions ParseFrom(pb::CodedInputStream input) {
+ public static ServiceOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static ServiceOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static ServiceOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -6089,11 +6089,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -6270,10 +6270,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static MethodOptions ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static MethodOptions ParseFrom(pb::CodedInputStream input) {
+ public static MethodOptions ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static MethodOptions ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static MethodOptions ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -6344,11 +6344,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -6564,10 +6564,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static NamePart ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static NamePart ParseFrom(pb::CodedInputStream input) {
+ public static NamePart ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static NamePart ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static NamePart ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -6639,11 +6639,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
@@ -6878,10 +6878,10 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
public static UninterpretedOption ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {
return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();
}
- public static UninterpretedOption ParseFrom(pb::CodedInputStream input) {
+ public static UninterpretedOption ParseFrom(pb::ICodedInputStream input) {
return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();
}
- public static UninterpretedOption ParseFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public static UninterpretedOption ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();
}
public static Builder CreateBuilder() { return new Builder(); }
@@ -6966,11 +6966,11 @@ namespace Google.ProtocolBuffers.DescriptorProtos {
return this;
}
- public override Builder MergeFrom(pb::CodedInputStream input) {
+ public override Builder MergeFrom(pb::ICodedInputStream input) {
return MergeFrom(input, pb::ExtensionRegistry.Empty);
}
- public override Builder MergeFrom(pb::CodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
+ public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {
pb::UnknownFieldSet.Builder unknownFields = null;
uint tag;
string field_name;
diff --git a/src/ProtocolBuffers/DynamicMessage.cs b/src/ProtocolBuffers/DynamicMessage.cs
index 3103706c..cd874a70 100644
--- a/src/ProtocolBuffers/DynamicMessage.cs
+++ b/src/ProtocolBuffers/DynamicMessage.cs
@@ -395,7 +395,7 @@ namespace Google.ProtocolBuffers
get { return fields.IsInitializedWithRespectTo(type.Fields); }
}
- public override Builder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry)
+ public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
{
UnknownFieldSet.Builder unknownFieldsBuilder = UnknownFieldSet.CreateBuilder(unknownFields);
unknownFieldsBuilder.MergeFrom(input, extensionRegistry, this);
diff --git a/src/ProtocolBuffers/ExtendableBuilder.cs b/src/ProtocolBuffers/ExtendableBuilder.cs
index 49265f4b..cbe203dd 100644
--- a/src/ProtocolBuffers/ExtendableBuilder.cs
+++ b/src/ProtocolBuffers/ExtendableBuilder.cs
@@ -130,7 +130,7 @@ namespace Google.ProtocolBuffers
/// </summary>
/// <returns>true unless the tag is an end-group tag</returns>
[CLSCompliant(false)]
- protected override bool ParseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields,
+ protected override bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
ExtensionRegistry extensionRegistry, uint tag, string fieldName)
{
return unknownFields.MergeFieldFrom(input, extensionRegistry, this, tag, fieldName);
diff --git a/src/ProtocolBuffers/ExtendableBuilderLite.cs b/src/ProtocolBuffers/ExtendableBuilderLite.cs
index f9508d4a..bac82bcb 100644
--- a/src/ProtocolBuffers/ExtendableBuilderLite.cs
+++ b/src/ProtocolBuffers/ExtendableBuilderLite.cs
@@ -133,7 +133,7 @@ namespace Google.ProtocolBuffers
/// </summary>
/// <returns>true unless the tag is an end-group tag</returns>
[CLSCompliant(false)]
- protected override bool ParseUnknownField(CodedInputStream input,
+ protected override bool ParseUnknownField(ICodedInputStream input,
ExtensionRegistry extensionRegistry, uint tag, string fieldName)
{
FieldSet extensions = MessageBeingBuilt.Extensions;
diff --git a/src/ProtocolBuffers/GeneratedBuilder.cs b/src/ProtocolBuffers/GeneratedBuilder.cs
index 699320ab..4d4be211 100644
--- a/src/ProtocolBuffers/GeneratedBuilder.cs
+++ b/src/ProtocolBuffers/GeneratedBuilder.cs
@@ -115,7 +115,7 @@ namespace Google.ProtocolBuffers
/// </summary>
/// <returns>true unless the tag is an end-group tag</returns>
[CLSCompliant(false)]
- protected virtual bool ParseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields,
+ protected virtual bool ParseUnknownField(ICodedInputStream input, UnknownFieldSet.Builder unknownFields,
ExtensionRegistry extensionRegistry, uint tag, string fieldName)
{
return unknownFields.MergeFieldFrom(tag, input);
diff --git a/src/ProtocolBuffers/GeneratedBuilderLite.cs b/src/ProtocolBuffers/GeneratedBuilderLite.cs
index 25628422..b916a8b0 100644
--- a/src/ProtocolBuffers/GeneratedBuilderLite.cs
+++ b/src/ProtocolBuffers/GeneratedBuilderLite.cs
@@ -98,7 +98,7 @@ namespace Google.ProtocolBuffers
/// </summary>
/// <returns>true unless the tag is an end-group tag</returns>
[CLSCompliant(false)]
- protected virtual bool ParseUnknownField(CodedInputStream input,
+ protected virtual bool ParseUnknownField(ICodedInputStream input,
ExtensionRegistry extensionRegistry, uint tag, string fieldName)
{
return input.SkipField();
diff --git a/src/ProtocolBuffers/IBuilder.cs b/src/ProtocolBuffers/IBuilder.cs
index 7a9d6907..f9c0df61 100644
--- a/src/ProtocolBuffers/IBuilder.cs
+++ b/src/ProtocolBuffers/IBuilder.cs
@@ -128,8 +128,8 @@ namespace Google.ProtocolBuffers
IBuilder WeakMergeFrom(IMessage message);
new IBuilder WeakMergeFrom(ByteString data);
new IBuilder WeakMergeFrom(ByteString data, ExtensionRegistry registry);
- new IBuilder WeakMergeFrom(CodedInputStream input);
- new IBuilder WeakMergeFrom(CodedInputStream input, ExtensionRegistry registry);
+ new IBuilder WeakMergeFrom(ICodedInputStream input);
+ new IBuilder WeakMergeFrom(ICodedInputStream input, ExtensionRegistry registry);
new IMessage WeakBuild();
new IMessage WeakBuildPartial();
new IBuilder WeakClone();
@@ -203,15 +203,15 @@ namespace Google.ProtocolBuffers
/// Use BuildPartial to build, which ignores missing required fields.
/// </list>
/// </remarks>
- new TBuilder MergeFrom(CodedInputStream input);
+ new TBuilder MergeFrom(ICodedInputStream input);
/// <summary>
- /// Like MergeFrom(CodedInputStream), but also parses extensions.
+ /// Like MergeFrom(ICodedInputStream), but also parses extensions.
/// The extensions that you want to be able to parse must be registered
/// in <paramref name="extensionRegistry"/>. Extensions not in the registry
/// will be treated as unknown fields.
/// </summary>
- new TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry);
+ new TBuilder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry);
/// <summary>
/// Get's the message's type's default instance.
@@ -260,35 +260,35 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
new TBuilder MergeFrom(ByteString data);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, extensionRegistry).
+ /// MergeFrom(ICodedInputStream, extensionRegistry).
/// </summary>
new TBuilder MergeFrom(ByteString data, ExtensionRegistry extensionRegistry);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
new TBuilder MergeFrom(byte[] data);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, extensionRegistry).
+ /// MergeFrom(ICodedInputStream, extensionRegistry).
/// </summary>
new TBuilder MergeFrom(byte[] data, ExtensionRegistry extensionRegistry);
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream). Note that this method always reads
+ /// MergeFrom(ICodedInputStream). Note that this method always reads
/// the entire input (unless it throws an exception). If you want it to
/// stop earlier, you will need to wrap the input in a wrapper
/// stream which limits reading. Or, use IMessage.WriteDelimitedTo(Stream)
@@ -300,7 +300,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, extensionRegistry).
+ /// MergeFrom(ICodedInputStream, extensionRegistry).
/// </summary>
new TBuilder MergeFrom(Stream input, ExtensionRegistry extensionRegistry);
diff --git a/src/ProtocolBuffers/IBuilderLite.cs b/src/ProtocolBuffers/IBuilderLite.cs
index 6cc14d6c..3cef895c 100644
--- a/src/ProtocolBuffers/IBuilderLite.cs
+++ b/src/ProtocolBuffers/IBuilderLite.cs
@@ -60,8 +60,8 @@ namespace Google.ProtocolBuffers
IBuilderLite WeakMergeFrom(IMessageLite message);
IBuilderLite WeakMergeFrom(ByteString data);
IBuilderLite WeakMergeFrom(ByteString data, ExtensionRegistry registry);
- IBuilderLite WeakMergeFrom(CodedInputStream input);
- IBuilderLite WeakMergeFrom(CodedInputStream input, ExtensionRegistry registry);
+ IBuilderLite WeakMergeFrom(ICodedInputStream input);
+ IBuilderLite WeakMergeFrom(ICodedInputStream input, ExtensionRegistry registry);
IMessageLite WeakBuild();
IMessageLite WeakBuildPartial();
IBuilderLite WeakClone();
@@ -131,15 +131,15 @@ namespace Google.ProtocolBuffers
/// Use BuildPartial to build, which ignores missing required fields.
/// </list>
/// </remarks>
- TBuilder MergeFrom(CodedInputStream input);
+ TBuilder MergeFrom(ICodedInputStream input);
/// <summary>
- /// Like MergeFrom(CodedInputStream), but also parses extensions.
+ /// Like MergeFrom(ICodedInputStream), but also parses extensions.
/// The extensions that you want to be able to parse must be registered
/// in <paramref name="extensionRegistry"/>. Extensions not in the registry
/// will be treated as unknown fields.
/// </summary>
- TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry);
+ TBuilder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry);
/// <summary>
/// Get's the message's type's default instance.
@@ -166,35 +166,35 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
TBuilder MergeFrom(ByteString data);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, ExtensionRegistry).
+ /// MergeFrom(ICodedInputStream, ExtensionRegistry).
/// </summary>
TBuilder MergeFrom(ByteString data, ExtensionRegistry extensionRegistry);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
TBuilder MergeFrom(byte[] data);
/// <summary>
/// Parse <paramref name="data"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, ExtensionRegistry).
+ /// MergeFrom(ICodedInputStream, ExtensionRegistry).
/// </summary>
TBuilder MergeFrom(byte[] data, ExtensionRegistry extensionRegistry);
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream). Note that this method always reads
+ /// MergeFrom(ICodedInputStream). Note that this method always reads
/// the entire input (unless it throws an exception). If you want it to
/// stop earlier, you will need to wrap the input in a wrapper
/// stream which limits reading. Or, use IMessage.WriteDelimitedTo(Stream)
@@ -206,7 +206,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parse <paramref name="input"/> as a message of this type and merge
/// it with the message being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream, ExtensionRegistry).
+ /// MergeFrom(ICodedInputStream, ExtensionRegistry).
/// </summary>
TBuilder MergeFrom(Stream input, ExtensionRegistry extensionRegistry);
diff --git a/src/ProtocolBuffers/ICodedInputStream.cs b/src/ProtocolBuffers/ICodedInputStream.cs
new file mode 100644
index 00000000..f385454b
--- /dev/null
+++ b/src/ProtocolBuffers/ICodedInputStream.cs
@@ -0,0 +1,198 @@
+using System;
+using System.Collections.Generic;
+using Google.ProtocolBuffers.Descriptors;
+
+//Disable warning CS3010: CLS-compliant interfaces must have only CLS-compliant members
+#pragma warning disable 3010
+
+namespace Google.ProtocolBuffers
+{
+ public interface ICodedInputStream
+ {
+ /// <summary>
+ /// Attempt to read a field tag, returning false if we have reached the end
+ /// of the input data.
+ /// </summary>
+ /// <remarks>
+ /// <para>
+ /// If fieldTag is non-zero and ReadTag returns true then the value in fieldName
+ /// may or may not be populated. However, if fieldTag is zero and ReadTag returns
+ /// true, then fieldName should be populated with a non-null field name.
+ /// </para><para>
+ /// In other words if ReadTag returns true then either fieldTag will be non-zero OR
+ /// fieldName will be non-zero. In some cases both may be populated, however the
+ /// builders will always prefer the fieldTag over fieldName.
+ /// </para>
+ /// </remarks>
+ [CLSCompliant(false)]
+ bool ReadTag(out uint fieldTag, out string fieldName);
+
+ /// <summary>
+ /// Read a double field from the stream.
+ /// </summary>
+ bool ReadDouble(ref double value);
+
+ /// <summary>
+ /// Read a float field from the stream.
+ /// </summary>
+ bool ReadFloat(ref float value);
+
+ /// <summary>
+ /// Read a uint64 field from the stream.
+ /// </summary>
+ [CLSCompliant(false)]
+ bool ReadUInt64(ref ulong value);
+
+ /// <summary>
+ /// Read an int64 field from the stream.
+ /// </summary>
+ bool ReadInt64(ref long value);
+
+ /// <summary>
+ /// Read an int32 field from the stream.
+ /// </summary>
+ bool ReadInt32(ref int value);
+
+ /// <summary>
+ /// Read a fixed64 field from the stream.
+ /// </summary>
+ [CLSCompliant(false)]
+ bool ReadFixed64(ref ulong value);
+
+ /// <summary>
+ /// Read a fixed32 field from the stream.
+ /// </summary>
+ [CLSCompliant(false)]
+ bool ReadFixed32(ref uint value);
+
+ /// <summary>
+ /// Read a bool field from the stream.
+ /// </summary>
+ bool ReadBool(ref bool value);
+
+ /// <summary>
+ /// Reads a string field from the stream.
+ /// </summary>
+ bool ReadString(ref string value);
+
+ /// <summary>
+ /// Reads a group field value from the stream.
+ /// </summary>
+ void ReadGroup(int fieldNumber, IBuilderLite builder,
+ ExtensionRegistry extensionRegistry);
+
+ /// <summary>
+ /// Reads a group field value from the stream and merges it into the given
+ /// UnknownFieldSet.
+ /// </summary>
+ [Obsolete]
+ void ReadUnknownGroup(int fieldNumber, IBuilderLite builder);
+
+ /// <summary>
+ /// Reads an embedded message field value from the stream.
+ /// </summary>
+ void ReadMessage(IBuilderLite builder, ExtensionRegistry extensionRegistry);
+
+ /// <summary>
+ /// Reads a bytes field value from the stream.
+ /// </summary>
+ bool ReadBytes(ref ByteString value);
+
+ /// <summary>
+ /// Reads a uint32 field value from the stream.
+ /// </summary>
+ [CLSCompliant(false)]
+ bool ReadUInt32(ref uint value);
+
+ /// <summary>
+ /// Reads an enum field value from the stream. The caller is responsible
+ /// for converting the numeric value to an actual enum.
+ /// </summary>
+ bool ReadEnum(ref IEnumLite value, out object unknown, IEnumLiteMap mapping);
+
+ /// <summary>
+ /// Reads an enum field value from the stream. If the enum is valid for type T,
+ /// then the ref value is set and it returns true. Otherwise the unkown output
+ /// value is set and this method returns false.
+ /// </summary>
+ [CLSCompliant(false)]
+ bool ReadEnum<T>(ref T value, out object unknown)
+ where T : struct, IComparable, IFormattable, IConvertible;
+
+ /// <summary>
+ /// Reads an sfixed32 field value from the stream.
+ /// </summary>
+ bool ReadSFixed32(ref int value);
+
+ /// <summary>
+ /// Reads an sfixed64 field value from the stream.
+ /// </summary>
+ bool ReadSFixed64(ref long value);
+
+ /// <summary>
+ /// Reads an sint32 field value from the stream.
+ /// </summary>
+ bool ReadSInt32(ref int value);
+
+ /// <summary>
+ /// Reads an sint64 field value from the stream.
+ /// </summary>
+ bool ReadSInt64(ref long value);
+
+ /// <summary>
+ /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed and the
+ /// type is numberic, it will read a packed array.
+ /// </summary>
+ [CLSCompliant(false)]
+ void ReadPrimitiveArray<T>(FieldType fieldType, uint fieldTag, string fieldName, ICollection<T> list);
+
+ /// <summary>
+ /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed, it will
+ /// read a packed array.
+ /// </summary>
+ [CLSCompliant(false)]
+ void ReadEnumArray(uint fieldTag, string fieldName, ICollection<IEnumLite> list, out ICollection<object> unknown, IEnumLiteMap mapping);
+
+ /// <summary>
+ /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed, it will
+ /// read a packed array.
+ /// </summary>
+ [CLSCompliant(false)]
+ void ReadEnumArray<T>(uint fieldTag, string fieldName, ICollection<T> list, out ICollection<object> unknown)
+ where T : struct, IComparable, IFormattable, IConvertible;
+
+ /// <summary>
+ /// Reads a set of messages using the <paramref name="messageType"/> as a template. T is not guaranteed to be
+ /// the most derived type, it is only the type specifier for the collection.
+ /// </summary>
+ [CLSCompliant(false)]
+ void ReadMessageArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType, ExtensionRegistry registry) where T : IMessageLite;
+
+ /// <summary>
+ /// Reads a set of messages using the <paramref name="messageType"/> as a template.
+ /// </summary>
+ [CLSCompliant(false)]
+ void ReadGroupArray<T>(uint fieldTag, string fieldName, ICollection<T> list, T messageType, ExtensionRegistry registry) where T : IMessageLite;
+
+ /// <summary>
+ /// Reads a field of any primitive type. Enums, groups and embedded
+ /// messages are not handled by this method.
+ /// </summary>
+ bool ReadPrimitiveField(FieldType fieldType, ref object value);
+
+ /// <summary>
+ /// Returns true if the stream has reached the end of the input. This is the
+ /// case if either the end of the underlying input source has been reached or
+ /// the stream has reached a limit created using PushLimit.
+ /// </summary>
+ bool IsAtEnd { get; }
+
+ /// <summary>
+ /// Reads and discards a single field, given its tag value.
+ /// </summary>
+ /// <returns>false if the tag is an end-group tag, in which case
+ /// nothing is skipped. Otherwise, returns true.</returns>
+ [CLSCompliant(false)]
+ bool SkipField();
+ }
+} \ No newline at end of file
diff --git a/src/ProtocolBuffers/ProtocolBuffers.csproj b/src/ProtocolBuffers/ProtocolBuffers.csproj
index 5928cac4..a059ca39 100644
--- a/src/ProtocolBuffers/ProtocolBuffers.csproj
+++ b/src/ProtocolBuffers/ProtocolBuffers.csproj
@@ -164,6 +164,7 @@
<Compile Include="IBuilderLite.cs">
<SubType>Code</SubType>
</Compile>
+ <Compile Include="ICodedInputStream.cs" />
<Compile Include="ICodedOutputStream.cs" />
<Compile Include="IMessage.cs" />
<Compile Include="IMessageLite.cs" />
diff --git a/src/ProtocolBuffers/ProtocolBuffersLite.csproj b/src/ProtocolBuffers/ProtocolBuffersLite.csproj
index 042ffd17..936a6950 100644
--- a/src/ProtocolBuffers/ProtocolBuffersLite.csproj
+++ b/src/ProtocolBuffers/ProtocolBuffersLite.csproj
@@ -95,6 +95,7 @@
<Compile Include="GeneratedBuilderLite.cs" />
<Compile Include="GeneratedExtensionLite.cs" />
<Compile Include="GeneratedMessageLite.cs" />
+ <Compile Include="ICodedInputStream.cs" />
<Compile Include="ICodedOutputStream.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ByteString.cs" />
diff --git a/src/ProtocolBuffers/UnknownFieldSet.cs b/src/ProtocolBuffers/UnknownFieldSet.cs
index e0f1cfff..13a29581 100644
--- a/src/ProtocolBuffers/UnknownFieldSet.cs
+++ b/src/ProtocolBuffers/UnknownFieldSet.cs
@@ -251,7 +251,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parses an UnknownFieldSet from the given input.
/// </summary>
- public static UnknownFieldSet ParseFrom(CodedInputStream input)
+ public static UnknownFieldSet ParseFrom(ICodedInputStream input)
{
return CreateBuilder().MergeFrom(input).Build();
}
@@ -417,7 +417,7 @@ namespace Google.ProtocolBuffers
/// Parse an entire message from <paramref name="input"/> and merge
/// its fields into this set.
/// </summary>
- public Builder MergeFrom(CodedInputStream input)
+ public Builder MergeFrom(ICodedInputStream input)
{
uint tag;
string name;
@@ -444,7 +444,7 @@ namespace Google.ProtocolBuffers
/// <param name="input">The coded input stream containing the field</param>
/// <returns>false if the tag is an "end group" tag, true otherwise</returns>
[CLSCompliant(false)]
- public bool MergeFieldFrom(uint tag, CodedInputStream input)
+ public bool MergeFieldFrom(uint tag, ICodedInputStream input)
{
int number = WireFormat.GetTagFieldNumber(tag);
switch (WireFormat.GetTagWireType(tag))
@@ -496,7 +496,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parses <paramref name="input"/> as an UnknownFieldSet and merge it
/// with the set being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
public Builder MergeFrom(Stream input)
{
@@ -509,7 +509,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parses <paramref name="data"/> as an UnknownFieldSet and merge it
/// with the set being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
public Builder MergeFrom(ByteString data)
{
@@ -522,7 +522,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Parses <paramref name="data"/> as an UnknownFieldSet and merge it
/// with the set being built. This is just a small wrapper around
- /// MergeFrom(CodedInputStream).
+ /// MergeFrom(ICodedInputStream).
/// </summary>
public Builder MergeFrom(byte[] data)
{
@@ -601,7 +601,7 @@ namespace Google.ProtocolBuffers
return this;
}
- internal void MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder)
+ internal void MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry, IBuilder builder)
{
uint tag;
string name;
@@ -623,7 +623,7 @@ namespace Google.ProtocolBuffers
}
/// <summary>
- /// Like <see cref="MergeFrom(CodedInputStream, ExtensionRegistry, IBuilder)" />
+ /// Like <see cref="MergeFrom(ICodedInputStream, ExtensionRegistry, IBuilder)" />
/// but parses a single field.
/// </summary>
/// <param name="input">The input to read the field from</param>
@@ -631,7 +631,7 @@ namespace Google.ProtocolBuffers
/// <param name="builder">Builder to merge field into, if it's a known field</param>
/// <param name="tag">The tag, which should already have been read from the input</param>
/// <returns>true unless the tag is an end-group tag</returns>
- internal bool MergeFieldFrom(CodedInputStream input,
+ internal bool MergeFieldFrom(ICodedInputStream input,
ExtensionRegistry extensionRegistry, IBuilder builder, uint tag, string fieldName)
{
MessageDescriptor type = builder.DescriptorForType;
@@ -753,7 +753,7 @@ namespace Google.ProtocolBuffers
/// <summary>
/// Called by MergeFieldFrom to parse a MessageSet extension.
/// </summary>
- private void MergeMessageSetExtensionFromCodedStream(CodedInputStream input,
+ private void MergeMessageSetExtensionFromCodedStream(ICodedInputStream input,
ExtensionRegistry extensionRegistry, IBuilder builder)
{
MessageDescriptor type = builder.DescriptorForType;
@@ -779,6 +779,7 @@ namespace Google.ProtocolBuffers
IBuilderLite subBuilder = null;
FieldDescriptor field = null;
+ uint lastTag = WireFormat.MessageSetTag.ItemStart;
uint tag;
string name;
while (input.ReadTag(out tag, out name))
@@ -790,6 +791,7 @@ namespace Google.ProtocolBuffers
break;
}
+ lastTag = tag;
if (tag == WireFormat.MessageSetTag.TypeID)
{
typeId = 0;
@@ -855,7 +857,8 @@ namespace Google.ProtocolBuffers
}
}
- input.CheckLastTagWas(WireFormat.MessageSetTag.ItemEnd);
+ if (lastTag != WireFormat.MessageSetTag.ItemEnd)
+ throw InvalidProtocolBufferException.InvalidEndTag();
if (subBuilder != null)
{
@@ -890,12 +893,12 @@ namespace Google.ProtocolBuffers
return MergeFrom(data);
}
- IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input)
+ IBuilderLite IBuilderLite.WeakMergeFrom(ICodedInputStream input)
{
return MergeFrom(input);
}
- IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input, ExtensionRegistry registry)
+ IBuilderLite IBuilderLite.WeakMergeFrom(ICodedInputStream input, ExtensionRegistry registry)
{
return MergeFrom(input);
}