aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2010-11-05 11:06:13 -0500
committercsharptest <roger@csharptest.net>2010-11-05 11:06:13 -0500
commit6b812f8a8301284e35f8e299723dd747eee2a32c (patch)
treebae78247ea364245c644d05adea0ab0517575f76 /src
parenta6722c34d9ee594bbaec8284b1d195d94ae27086 (diff)
downloadprotobuf-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.cs139
-rw-r--r--src/ProtocolBuffers/DynamicMessage.cs2
-rw-r--r--src/ProtocolBuffers/ExtensionRegistry.cs4
-rw-r--r--src/ProtocolBuffers/ExtensionRegistryLite.cs4
-rw-r--r--src/ProtocolBuffers/GeneratedExtensionLite.cs14
-rw-r--r--src/ProtocolBuffers/UnknownFieldSet.cs2
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;