aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2012-10-14 18:47:48 -0500
committerrogerk <devnull@localhost>2012-10-14 18:47:48 -0500
commit6716432ca60b1ad53b20165d9bc29f853fcf1deb (patch)
treef46d00d19039aa442ca361f46cfc33bf80e09d8f /src
parent0f56b842987dce4699be8a4e9e3cb353497a305a (diff)
downloadprotobuf-6716432ca60b1ad53b20165d9bc29f853fcf1deb.tar.gz
protobuf-6716432ca60b1ad53b20165d9bc29f853fcf1deb.tar.bz2
protobuf-6716432ca60b1ad53b20165d9bc29f853fcf1deb.zip
Last (hopefully) changes to pre-processing directives
Diffstat (limited to 'src')
-rw-r--r--src/ProtocolBuffers.Test/SerializableAttribute.cs2
-rw-r--r--src/ProtocolBuffers/CodedInputStream.cs17
-rw-r--r--src/ProtocolBuffers/CodedOutputStream.cs22
-rw-r--r--src/ProtocolBuffers/CustomSerialization.cs2
-rw-r--r--src/ProtocolBuffers/FrameworkPortability.cs22
-rw-r--r--src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj4
-rw-r--r--src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj4
-rw-r--r--src/ProtocolBuffersLite.Test/SerializableAttribute.cs12
-rw-r--r--src/ProtocolBuffersLite.Test/SerializableLiteTest.cs2
9 files changed, 33 insertions, 54 deletions
diff --git a/src/ProtocolBuffers.Test/SerializableAttribute.cs b/src/ProtocolBuffers.Test/SerializableAttribute.cs
index 04fcdcba..0553762b 100644
--- a/src/ProtocolBuffers.Test/SerializableAttribute.cs
+++ b/src/ProtocolBuffers.Test/SerializableAttribute.cs
@@ -1,4 +1,4 @@
-#if SILVERLIGHT
+#if NOSERIALIZABLE && !COMPACT_FRAMEWORK
namespace System
{
diff --git a/src/ProtocolBuffers/CodedInputStream.cs b/src/ProtocolBuffers/CodedInputStream.cs
index 230c585c..e4d690b5 100644
--- a/src/ProtocolBuffers/CodedInputStream.cs
+++ b/src/ProtocolBuffers/CodedInputStream.cs
@@ -231,22 +231,7 @@ namespace Google.ProtocolBuffers
/// </summary>
public bool ReadDouble(ref double value)
{
-#if SILVERLIGHT || COMPACT_FRAMEWORK
- if (BitConverter.IsLittleEndian && 8 <= bufferSize - bufferPos)
- {
- value = BitConverter.ToDouble(buffer, bufferPos);
- bufferPos += 8;
- }
- else
- {
- byte[] rawBytes = ReadRawBytes(8);
- if (!BitConverter.IsLittleEndian)
- ByteArray.Reverse(rawBytes);
- value = BitConverter.ToDouble(rawBytes, 0);
- }
-#else
- value = BitConverter.Int64BitsToDouble((long) ReadRawLittleEndian64());
-#endif
+ value = FrameworkPortability.Int64ToDouble((long) ReadRawLittleEndian64());
return true;
}
diff --git a/src/ProtocolBuffers/CodedOutputStream.cs b/src/ProtocolBuffers/CodedOutputStream.cs
index f4d637c1..b6a501c4 100644
--- a/src/ProtocolBuffers/CodedOutputStream.cs
+++ b/src/ProtocolBuffers/CodedOutputStream.cs
@@ -496,27 +496,7 @@ namespace Google.ProtocolBuffers
/// </summary>
public void WriteDoubleNoTag(double value)
{
-#if SILVERLIGHT || COMPACT_FRAMEWORK
- byte[] rawBytes = BitConverter.GetBytes(value);
- if (!BitConverter.IsLittleEndian)
- ByteArray.Reverse(rawBytes);
-
- if (limit - position >= 8)
- {
- buffer[position++] = rawBytes[0];
- buffer[position++] = rawBytes[1];
- buffer[position++] = rawBytes[2];
- buffer[position++] = rawBytes[3];
- buffer[position++] = rawBytes[4];
- buffer[position++] = rawBytes[5];
- buffer[position++] = rawBytes[6];
- buffer[position++] = rawBytes[7];
- }
- else
- WriteRawBytes(rawBytes, 0, 8);
-#else
- WriteRawLittleEndian64((ulong) BitConverter.DoubleToInt64Bits(value));
-#endif
+ WriteRawLittleEndian64((ulong)FrameworkPortability.DoubleToInt64(value));
}
/// <summary>
diff --git a/src/ProtocolBuffers/CustomSerialization.cs b/src/ProtocolBuffers/CustomSerialization.cs
index a1aee029..d3904113 100644
--- a/src/ProtocolBuffers/CustomSerialization.cs
+++ b/src/ProtocolBuffers/CustomSerialization.cs
@@ -34,7 +34,7 @@
#endregion
/*
- * This entire source file is not supported on the Silverlight platform
+ * This entire source file is not supported on some platform
*/
#if !NOSERIALIZABLE
diff --git a/src/ProtocolBuffers/FrameworkPortability.cs b/src/ProtocolBuffers/FrameworkPortability.cs
index 78b7db31..fee8fbac 100644
--- a/src/ProtocolBuffers/FrameworkPortability.cs
+++ b/src/ProtocolBuffers/FrameworkPortability.cs
@@ -63,6 +63,28 @@ namespace Google.ProtocolBuffers
get { return CultureInfo.InvariantCulture; }
}
+ internal static double Int64ToDouble(long value)
+ {
+#if CLIENTPROFILE
+ return BitConverter.Int64BitsToDouble(value);
+#else
+ double[] arresult = new double[1];
+ Buffer.BlockCopy(new[] { value }, 0, arresult, 0, 8);
+ return arresult[0];
+#endif
+ }
+
+ internal static long DoubleToInt64(double value)
+ {
+#if CLIENTPROFILE
+ return BitConverter.DoubleToInt64Bits(value);
+#else
+ long[] arresult = new long[1];
+ Buffer.BlockCopy(new[] { value }, 0, arresult, 0, 8);
+ return arresult[0];
+#endif
+ }
+
internal static bool TryParseInt32(string text, out int number)
{
return TryParseInt32(text, NumberStyles.Any, InvariantCulture, out number);
diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
index acabfd18..353e5cdb 100644
--- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
+++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLite.Test.csproj
@@ -69,6 +69,9 @@
<Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
+ <Compile Include="..\ProtocolBuffers.Test\SerializableAttribute.cs">
+ <Link>SerializableAttribute.cs</Link>
+ </Compile>
<Compile Include="..\ProtocolBuffers.Test\TestRpcForMimeTypes.cs">
<Link>TestRpcForMimeTypes.cs</Link>
</Compile>
@@ -80,7 +83,6 @@
<Compile Include="ExtendableBuilderLiteTest.cs" />
<Compile Include="ExtendableMessageLiteTest.cs" />
<Compile Include="LiteTest.cs" />
- <Compile Include="SerializableAttribute.cs" />
<Compile Include="SerializableLiteTest.cs" />
<Compile Include="TestLiteByApi.cs" />
<Compile Include="TestProtos\UnitTestExtrasLiteProtoFile.cs" />
diff --git a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
index db2c8eb4..f793593b 100644
--- a/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
+++ b/src/ProtocolBuffersLite.Test/ProtocolBuffersLiteMixed.Test.csproj
@@ -69,6 +69,9 @@
<Compile Include="..\ProtocolBuffers.Test\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
+ <Compile Include="..\ProtocolBuffers.Test\SerializableAttribute.cs">
+ <Link>SerializableAttribute.cs</Link>
+ </Compile>
<Compile Include="AbstractBuilderLiteTest.cs" />
<Compile Include="AbstractMessageLiteTest.cs" />
<Compile Include="ExtendableBuilderLiteTest.cs" />
@@ -76,7 +79,6 @@
<Compile Include="InteropLiteTest.cs" />
<Compile Include="LiteTest.cs" />
<Compile Include="MissingFieldAndExtensionTest.cs" />
- <Compile Include="SerializableAttribute.cs" />
<Compile Include="TestLiteByApi.cs" />
<Compile Include="TestProtos\UnitTestExtrasFullProtoFile.cs" />
<Compile Include="TestProtos\UnitTestExtrasLiteProtoFile.cs" />
diff --git a/src/ProtocolBuffersLite.Test/SerializableAttribute.cs b/src/ProtocolBuffersLite.Test/SerializableAttribute.cs
deleted file mode 100644
index 04fcdcba..00000000
--- a/src/ProtocolBuffersLite.Test/SerializableAttribute.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-#if SILVERLIGHT
-
-namespace System
-{
- [AttributeUsage(AttributeTargets.Class)]
- public class SerializableAttribute : Attribute
- {
- public SerializableAttribute () : base() { }
- }
-}
-
-#endif
diff --git a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs
index 5049f30a..3efb9179 100644
--- a/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs
+++ b/src/ProtocolBuffersLite.Test/SerializableLiteTest.cs
@@ -1,5 +1,5 @@
using System;
-#if !SILVERLIGHT && !COMPACT_FRAMEWORK
+#if !NOSERIALIZABLE
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization;