diff options
author | csharptest <roger@csharptest.net> | 2010-11-05 11:06:13 -0500 |
---|---|---|
committer | csharptest <roger@csharptest.net> | 2010-11-05 11:06:13 -0500 |
commit | 6b812f8a8301284e35f8e299723dd747eee2a32c (patch) | |
tree | bae78247ea364245c644d05adea0ab0517575f76 /src | |
parent | a6722c34d9ee594bbaec8284b1d195d94ae27086 (diff) | |
download | protobuf-6b812f8a8301284e35f8e299723dd747eee2a32c.tar.gz protobuf-6b812f8a8301284e35f8e299723dd747eee2a32c.tar.bz2 protobuf-6b812f8a8301284e35f8e299723dd747eee2a32c.zip |
Working split for lite interfaces
Diffstat (limited to 'src')
-rw-r--r-- | src/ProtocolBuffers/AbstractBuilder.cs | 139 | ||||
-rw-r--r-- | src/ProtocolBuffers/DynamicMessage.cs | 2 | ||||
-rw-r--r-- | src/ProtocolBuffers/ExtensionRegistry.cs | 4 | ||||
-rw-r--r-- | src/ProtocolBuffers/ExtensionRegistryLite.cs | 4 | ||||
-rw-r--r-- | src/ProtocolBuffers/GeneratedExtensionLite.cs | 14 | ||||
-rw-r--r-- | src/ProtocolBuffers/UnknownFieldSet.cs | 2 |
6 files changed, 82 insertions, 83 deletions
diff --git a/src/ProtocolBuffers/AbstractBuilder.cs b/src/ProtocolBuffers/AbstractBuilder.cs index 2ba9855a..4db89c68 100644 --- a/src/ProtocolBuffers/AbstractBuilder.cs +++ b/src/ProtocolBuffers/AbstractBuilder.cs @@ -173,10 +173,6 @@ namespace Google.ProtocolBuffers { } public virtual TBuilder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry) { - return MergeFrom(input, (ExtensionRegistryLite)extensionRegistry); - } - - public virtual TBuilder MergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) { UnknownFieldSet.Builder unknownFields = UnknownFieldSet.CreateBuilder(UnknownFields); unknownFields.MergeFrom(input, extensionRegistry, this); UnknownFields = unknownFields.Build(); @@ -198,10 +194,6 @@ namespace Google.ProtocolBuffers { } public virtual TBuilder MergeFrom(ByteString data, ExtensionRegistry extensionRegistry) { - return MergeFrom(data, (ExtensionRegistryLite)extensionRegistry); - } - - public virtual TBuilder MergeFrom(ByteString data, ExtensionRegistryLite extensionRegistry) { CodedInputStream input = data.CreateCodedInput(); MergeFrom(input, extensionRegistry); input.CheckLastTagWas(0); @@ -216,10 +208,6 @@ namespace Google.ProtocolBuffers { } public virtual TBuilder MergeFrom(byte[] data, ExtensionRegistry extensionRegistry) { - return MergeFrom(data, (ExtensionRegistryLite)extensionRegistry); - } - - public virtual TBuilder MergeFrom(byte[] data, ExtensionRegistryLite extensionRegistry) { CodedInputStream input = CodedInputStream.CreateInstance(data); MergeFrom(input, extensionRegistry); input.CheckLastTagWas(0); @@ -234,10 +222,6 @@ namespace Google.ProtocolBuffers { } public virtual TBuilder MergeFrom(Stream input, ExtensionRegistry extensionRegistry) { - return MergeFrom(input, (ExtensionRegistryLite)extensionRegistry); - } - - public virtual TBuilder MergeFrom(Stream input, ExtensionRegistryLite extensionRegistry) { CodedInputStream codedInput = CodedInputStream.CreateInstance(input); MergeFrom(codedInput, extensionRegistry); codedInput.CheckLastTagWas(0); @@ -245,7 +229,7 @@ namespace Google.ProtocolBuffers { } public TBuilder MergeDelimitedFrom(Stream input, ExtensionRegistry extensionRegistry) { - return MergeDelimitedFrom(input, (ExtensionRegistryLite)extensionRegistry); + return Lite.MergeDelimitedFrom(input, extensionRegistry); } public TBuilder MergeDelimitedFrom(Stream input, ExtensionRegistryLite extensionRegistry) { @@ -266,9 +250,81 @@ namespace Google.ProtocolBuffers { public virtual IBuilder SetRepeatedField(FieldDescriptor field, int index, object value) { this[field, index] = value; return ThisBuilder; - } + } + /// <summary> + /// used internally to explicitly resolve lite edition methods + /// </summary> + protected IBuilderLite<TMessage, TBuilder> Lite { get { return this; } } + + public virtual TBuilder MergeFrom(IMessageLite other) { +#warning Not implemented for Lite edition + return MergeFrom((IMessage)other); + } + + public TBuilder MergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) { +#warning Not implemented for Lite edition + return MergeFrom(input, (ExtensionRegistry)extensionRegistry); + } + + public virtual TBuilder MergeFrom(ByteString data, ExtensionRegistryLite extensionRegistry) { +#warning Not implemented for Lite edition + return MergeFrom(data, (ExtensionRegistry)extensionRegistry); + } + + public virtual TBuilder MergeFrom(byte[] data, ExtensionRegistryLite extensionRegistry) { +#warning Not implemented for Lite edition + return MergeFrom(data, (ExtensionRegistry)extensionRegistry); + } + + public virtual TBuilder MergeFrom(Stream input, ExtensionRegistryLite extensionRegistry) { +#warning Not implemented for Lite edition + return MergeFrom(input, (ExtensionRegistry)extensionRegistry); + } + + IBuilderLite IBuilderLite.WeakClear() { + return WeakClear(); + } + + public IBuilderLite WeakMergeFrom(IMessageLite message) { + return MergeFrom(message); + } + + IBuilderLite IBuilderLite.WeakMergeFrom(ByteString data) { + return WeakMergeFrom(data); + } + + IBuilderLite IBuilderLite.WeakMergeFrom(ByteString data, ExtensionRegistryLite registry) { + return WeakMergeFrom(data, registry); + } + + IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input) { + return WeakMergeFrom(input); + } + + IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input, ExtensionRegistryLite registry) { + return WeakMergeFrom(input, registry); + } + + IMessageLite IBuilderLite.WeakBuild() { + return WeakBuild(); + } + + IMessageLite IBuilderLite.WeakBuildPartial() { + return WeakBuildPartial(); + } + + IBuilderLite IBuilderLite.WeakClone() { + return WeakClone(); + } + + IMessageLite IBuilderLite.WeakDefaultInstanceForType { + get { return WeakDefaultInstanceForType; } + } + + #region LimitedInputStream + /// <summary> /// Stream implementation which proxies another stream, only allowing a certain amount /// of data to be read. Note that this is only used to read delimited streams, so it /// doesn't attempt to implement everything. @@ -331,50 +387,7 @@ namespace Google.ProtocolBuffers { public override void Write(byte[] buffer, int offset, int count) { throw new NotSupportedException(); } - } - - IBuilderLite IBuilderLite.WeakClear() { - return WeakClear(); - } - - public IBuilderLite WeakMergeFrom(IMessageLite message) { - return MergeFrom(message); - } - - IBuilderLite IBuilderLite.WeakMergeFrom(ByteString data) { - return WeakMergeFrom(data); - } - - IBuilderLite IBuilderLite.WeakMergeFrom(ByteString data, ExtensionRegistryLite registry) { - throw new NotImplementedException(); - } - - IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input) { - return WeakMergeFrom(input); - } - - IBuilderLite IBuilderLite.WeakMergeFrom(CodedInputStream input, ExtensionRegistryLite registry) { - throw new NotImplementedException(); - } - - IMessageLite IBuilderLite.WeakBuild() { - return WeakBuild(); - } - - IMessageLite IBuilderLite.WeakBuildPartial() { - return WeakBuildPartial(); - } - - IBuilderLite IBuilderLite.WeakClone() { - return WeakClone(); - } - - IMessageLite IBuilderLite.WeakDefaultInstanceForType { - get { return WeakDefaultInstanceForType; } - } - - public TBuilder MergeFrom(IMessageLite other) { - throw new NotImplementedException(); - } + } + #endregion } } diff --git a/src/ProtocolBuffers/DynamicMessage.cs b/src/ProtocolBuffers/DynamicMessage.cs index 0653fcf4..12f2186c 100644 --- a/src/ProtocolBuffers/DynamicMessage.cs +++ b/src/ProtocolBuffers/DynamicMessage.cs @@ -338,7 +338,7 @@ namespace Google.ProtocolBuffers { get { return fields.IsInitializedWithRespectTo(type); } } - public override Builder MergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry) { + public override Builder MergeFrom(CodedInputStream input, ExtensionRegistry extensionRegistry) { UnknownFieldSet.Builder unknownFieldsBuilder = UnknownFieldSet.CreateBuilder(unknownFields); unknownFieldsBuilder.MergeFrom(input, extensionRegistry, this); unknownFields = unknownFieldsBuilder.Build(); diff --git a/src/ProtocolBuffers/ExtensionRegistry.cs b/src/ProtocolBuffers/ExtensionRegistry.cs index 32408b09..02c751a8 100644 --- a/src/ProtocolBuffers/ExtensionRegistry.cs +++ b/src/ProtocolBuffers/ExtensionRegistry.cs @@ -107,7 +107,7 @@ namespace Google.ProtocolBuffers { /// <summary> /// Construct a new, empty instance. /// </summary> - public static new ExtensionRegistry CreateInstance() { + public static ExtensionRegistry CreateInstance() { return new ExtensionRegistry(new Dictionary<string, ExtensionInfo>(), new Dictionary<ExtensionIntPair, IGeneratedExtensionLite>(), false); } @@ -115,7 +115,7 @@ namespace Google.ProtocolBuffers { /// <summary> /// Get the unmodifiable singleton empty instance. /// </summary> - public new static ExtensionRegistry Empty { + public static ExtensionRegistry Empty { get { return empty; } } diff --git a/src/ProtocolBuffers/ExtensionRegistryLite.cs b/src/ProtocolBuffers/ExtensionRegistryLite.cs index b0548235..8518cd10 100644 --- a/src/ProtocolBuffers/ExtensionRegistryLite.cs +++ b/src/ProtocolBuffers/ExtensionRegistryLite.cs @@ -103,7 +103,7 @@ namespace Google.ProtocolBuffers { this.extensionsByNumber = extensionsByNumber; this.readOnly = readOnly; } - +#if LITE /// <summary> /// Construct a new, empty instance. /// </summary> @@ -118,7 +118,7 @@ namespace Google.ProtocolBuffers { public static ExtensionRegistryLite Empty { get { return empty; } } - +#endif public ExtensionRegistryLite AsReadOnly() { return MakeReadOnly(); } diff --git a/src/ProtocolBuffers/GeneratedExtensionLite.cs b/src/ProtocolBuffers/GeneratedExtensionLite.cs index 26794514..9b3cf504 100644 --- a/src/ProtocolBuffers/GeneratedExtensionLite.cs +++ b/src/ProtocolBuffers/GeneratedExtensionLite.cs @@ -7,18 +7,4 @@ namespace Google.ProtocolBuffers { object ContainingType { get; } IMessageLite MessageDefaultInstance { get; } } - - public class GeneratedExtensionLite : IGeneratedExtensionLite { - public int Number { - get { throw new NotImplementedException(); } - } - - public object ContainingType { - get { throw new NotImplementedException(); } - } - - public IMessageLite MessageDefaultInstance { - get { throw new NotImplementedException(); } - } - } }
\ No newline at end of file diff --git a/src/ProtocolBuffers/UnknownFieldSet.cs b/src/ProtocolBuffers/UnknownFieldSet.cs index e982e311..476a875f 100644 --- a/src/ProtocolBuffers/UnknownFieldSet.cs +++ b/src/ProtocolBuffers/UnknownFieldSet.cs @@ -504,7 +504,7 @@ namespace Google.ProtocolBuffers { break; } - ExtensionRegistry extensionRegistry = (extensionRegistryLite as ExtensionRegistry) ?? ExtensionRegistry.CreateInstance(); + ExtensionRegistry extensionRegistry = (ExtensionRegistry)extensionRegistryLite; if (!MergeFieldFrom(input, extensionRegistry, builder, tag)) { // end group tag break; |