diff options
12 files changed, 102 insertions, 127 deletions
diff --git a/csharp/src/Google.Protobuf.Test/CodedInputStreamTest.cs b/csharp/src/Google.Protobuf.Test/CodedInputStreamTest.cs index fa88d407..6e25fa37 100644 --- a/csharp/src/Google.Protobuf.Test/CodedInputStreamTest.cs +++ b/csharp/src/Google.Protobuf.Test/CodedInputStreamTest.cs @@ -59,20 +59,20 @@ namespace Google.Protobuf /// </summary>
private static void AssertReadVarint(byte[] data, ulong value)
{
- CodedInputStream input = CodedInputStream.CreateInstance(data);
+ CodedInputStream input = new CodedInputStream(data);
Assert.AreEqual((uint) value, input.ReadRawVarint32());
- input = CodedInputStream.CreateInstance(data);
+ input = new CodedInputStream(data);
Assert.AreEqual(value, input.ReadRawVarint64());
Assert.IsTrue(input.IsAtEnd);
// Try different block sizes.
for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2)
{
- input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize));
+ input = new CodedInputStream(new SmallBlockInputStream(data, bufferSize));
Assert.AreEqual((uint) value, input.ReadRawVarint32());
- input = CodedInputStream.CreateInstance(new SmallBlockInputStream(data, bufferSize));
+ input = new CodedInputStream(new SmallBlockInputStream(data, bufferSize));
Assert.AreEqual(value, input.ReadRawVarint64());
Assert.IsTrue(input.IsAtEnd);
}
@@ -95,11 +95,11 @@ namespace Google.Protobuf /// </summary>
private static void AssertReadVarintFailure(InvalidProtocolBufferException expected, byte[] data)
{
- CodedInputStream input = CodedInputStream.CreateInstance(data);
+ CodedInputStream input = new CodedInputStream(data);
var exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint32());
Assert.AreEqual(expected.Message, exception.Message);
- input = CodedInputStream.CreateInstance(data);
+ input = new CodedInputStream(data);
exception = Assert.Throws<InvalidProtocolBufferException>(() => input.ReadRawVarint64());
Assert.AreEqual(expected.Message, exception.Message);
@@ -152,14 +152,14 @@ namespace Google.Protobuf /// </summary>
private static void AssertReadLittleEndian32(byte[] data, uint value)
{
- CodedInputStream input = CodedInputStream.CreateInstance(data);
+ CodedInputStream input = new CodedInputStream(data);
Assert.AreEqual(value, input.ReadRawLittleEndian32());
Assert.IsTrue(input.IsAtEnd);
// Try different block sizes.
for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
{
- input = CodedInputStream.CreateInstance(
+ input = new CodedInputStream(
new SmallBlockInputStream(data, blockSize));
Assert.AreEqual(value, input.ReadRawLittleEndian32());
Assert.IsTrue(input.IsAtEnd);
@@ -172,14 +172,14 @@ namespace Google.Protobuf /// </summary>
private static void AssertReadLittleEndian64(byte[] data, ulong value)
{
- CodedInputStream input = CodedInputStream.CreateInstance(data);
+ CodedInputStream input = new CodedInputStream(data);
Assert.AreEqual(value, input.ReadRawLittleEndian64());
Assert.IsTrue(input.IsAtEnd);
// Try different block sizes.
for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
{
- input = CodedInputStream.CreateInstance(
+ input = new CodedInputStream(
new SmallBlockInputStream(data, blockSize));
Assert.AreEqual(value, input.ReadRawLittleEndian64());
Assert.IsTrue(input.IsAtEnd);
@@ -269,7 +269,7 @@ namespace Google.Protobuf public void ReadMaliciouslyLargeBlob()
{
MemoryStream ms = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(ms);
+ CodedOutputStream output = new CodedOutputStream(ms);
uint tag = WireFormat.MakeTag(1, WireFormat.WireType.LengthDelimited);
output.WriteRawVarint32(tag);
@@ -278,7 +278,7 @@ namespace Google.Protobuf output.Flush();
ms.Position = 0;
- CodedInputStream input = CodedInputStream.CreateInstance(ms);
+ CodedInputStream input = new CodedInputStream(ms);
uint testtag;
Assert.IsTrue(input.ReadTag(out testtag));
Assert.AreEqual(tag, testtag);
@@ -335,7 +335,7 @@ namespace Google.Protobuf // Have to use a Stream rather than ByteString.CreateCodedInput as SizeLimit doesn't
// apply to the latter case.
MemoryStream ms = new MemoryStream(TestUtil.GetAllSet().ToByteString().ToByteArray());
- CodedInputStream input = CodedInputStream.CreateInstance(ms);
+ CodedInputStream input = new CodedInputStream(ms);
input.SetSizeLimit(16);
Assert.Throws<InvalidProtocolBufferException>(() => TestAllTypes.ParseFrom(input));
@@ -344,7 +344,7 @@ namespace Google.Protobuf [Test]
public void ResetSizeCounter()
{
- CodedInputStream input = CodedInputStream.CreateInstance(
+ CodedInputStream input = new CodedInputStream(
new SmallBlockInputStream(new byte[256], 8));
input.SetSizeLimit(16);
input.ReadRawBytes(16);
@@ -366,7 +366,7 @@ namespace Google.Protobuf public void ReadInvalidUtf8()
{
MemoryStream ms = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(ms);
+ CodedOutputStream output = new CodedOutputStream(ms);
uint tag = WireFormat.MakeTag(1, WireFormat.WireType.LengthDelimited);
output.WriteRawVarint32(tag);
@@ -375,7 +375,7 @@ namespace Google.Protobuf output.Flush();
ms.Position = 0;
- CodedInputStream input = CodedInputStream.CreateInstance(ms);
+ CodedInputStream input = new CodedInputStream(ms);
uint actualTag;
Assert.IsTrue(input.ReadTag(out actualTag));
@@ -409,7 +409,7 @@ namespace Google.Protobuf public void TestNegativeEnum()
{
byte[] bytes = { 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01 };
- CodedInputStream input = CodedInputStream.CreateInstance(bytes);
+ CodedInputStream input = new CodedInputStream(bytes);
Assert.AreEqual((int)SampleEnum.NegativeValue, input.ReadEnum());
Assert.IsTrue(input.IsAtEnd);
}
@@ -420,7 +420,7 @@ namespace Google.Protobuf {
using (var ms = new MemoryStream())
{
- CodedOutputStream output = CodedOutputStream.CreateInstance(ms);
+ CodedOutputStream output = new CodedOutputStream(ms);
output.WriteTag(1, WireFormat.WireType.LengthDelimited);
output.WriteBytes(ByteString.CopyFrom(new byte[100]));
output.WriteTag(2, WireFormat.WireType.LengthDelimited);
@@ -428,7 +428,7 @@ namespace Google.Protobuf output.Flush();
ms.Position = 0;
- CodedInputStream input = CodedInputStream.CreateInstance(ms, new byte[ms.Length / 2]);
+ CodedInputStream input = new CodedInputStream(ms, new byte[ms.Length / 2]);
uint tag;
Assert.IsTrue(input.ReadTag(out tag));
diff --git a/csharp/src/Google.Protobuf.Test/CodedOutputStreamTest.cs b/csharp/src/Google.Protobuf.Test/CodedOutputStreamTest.cs index c3d92a66..af329174 100644 --- a/csharp/src/Google.Protobuf.Test/CodedOutputStreamTest.cs +++ b/csharp/src/Google.Protobuf.Test/CodedOutputStreamTest.cs @@ -49,7 +49,7 @@ namespace Google.Protobuf if ((value >> 32) == 0)
{
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
+ CodedOutputStream output = new CodedOutputStream(rawOutput);
output.WriteRawVarint32((uint) value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -59,7 +59,7 @@ namespace Google.Protobuf {
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
+ CodedOutputStream output = new CodedOutputStream(rawOutput);
output.WriteRawVarint64(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -76,7 +76,7 @@ namespace Google.Protobuf {
MemoryStream rawOutput = new MemoryStream();
CodedOutputStream output =
- CodedOutputStream.CreateInstance(rawOutput, bufferSize);
+ new CodedOutputStream(rawOutput, bufferSize);
output.WriteRawVarint32((uint) value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -84,7 +84,7 @@ namespace Google.Protobuf {
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput, bufferSize);
+ CodedOutputStream output = new CodedOutputStream(rawOutput, bufferSize);
output.WriteRawVarint64(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -134,7 +134,7 @@ namespace Google.Protobuf private static void AssertWriteLittleEndian32(byte[] data, uint value)
{
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
+ CodedOutputStream output = new CodedOutputStream(rawOutput);
output.WriteRawLittleEndian32(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -143,7 +143,7 @@ namespace Google.Protobuf for (int bufferSize = 1; bufferSize <= 16; bufferSize *= 2)
{
rawOutput = new MemoryStream();
- output = CodedOutputStream.CreateInstance(rawOutput, bufferSize);
+ output = new CodedOutputStream(rawOutput, bufferSize);
output.WriteRawLittleEndian32(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -157,7 +157,7 @@ namespace Google.Protobuf private static void AssertWriteLittleEndian64(byte[] data, ulong value)
{
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput);
+ CodedOutputStream output = new CodedOutputStream(rawOutput);
output.WriteRawLittleEndian64(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -166,7 +166,7 @@ namespace Google.Protobuf for (int blockSize = 1; blockSize <= 16; blockSize *= 2)
{
rawOutput = new MemoryStream();
- output = CodedOutputStream.CreateInstance(rawOutput, blockSize);
+ output = new CodedOutputStream(rawOutput, blockSize);
output.WriteRawLittleEndian64(value);
output.Flush();
Assert.AreEqual(data, rawOutput.ToArray());
@@ -201,7 +201,7 @@ namespace Google.Protobuf for (int blockSize = 1; blockSize < 256; blockSize *= 2)
{
MemoryStream rawOutput = new MemoryStream();
- CodedOutputStream output = CodedOutputStream.CreateInstance(rawOutput, blockSize);
+ CodedOutputStream output = new CodedOutputStream(rawOutput, blockSize);
message.WriteTo(output);
output.Flush();
Assert.AreEqual(rawBytes, rawOutput.ToArray());
@@ -276,7 +276,7 @@ namespace Google.Protobuf Assert.AreEqual(10, CodedOutputStream.ComputeEnumSize((int) SampleEnum.NegativeValue));
byte[] bytes = new byte[10];
- CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
+ CodedOutputStream output = new CodedOutputStream(bytes);
output.WriteEnum((int) SampleEnum.NegativeValue);
Assert.AreEqual(0, output.SpaceLeft);
@@ -293,7 +293,7 @@ namespace Google.Protobuf byte[] child = new byte[120];
{
MemoryStream ms = new MemoryStream(child);
- CodedOutputStream cout = CodedOutputStream.CreateInstance(ms, 20);
+ CodedOutputStream cout = new CodedOutputStream(ms, 20);
// Field 11: numeric value: 500
cout.WriteTag(11, WireFormat.WireType.Varint);
Assert.AreEqual(1, cout.Position);
@@ -314,7 +314,7 @@ namespace Google.Protobuf byte[] bytes = new byte[130];
{
- CodedOutputStream cout = CodedOutputStream.CreateInstance(bytes);
+ CodedOutputStream cout = new CodedOutputStream(bytes);
// Field 1: numeric value: 500
cout.WriteTag(1, WireFormat.WireType.Varint);
Assert.AreEqual(1, cout.Position);
@@ -334,7 +334,7 @@ namespace Google.Protobuf }
// Now test Input stream:
{
- CodedInputStream cin = CodedInputStream.CreateInstance(new MemoryStream(bytes), new byte[50]);
+ CodedInputStream cin = new CodedInputStream(new MemoryStream(bytes), new byte[50]);
uint tag;
Assert.AreEqual(0, cin.Position);
// Field 1:
diff --git a/csharp/src/Google.Protobuf.Test/Collections/RepeatedFieldTest.cs b/csharp/src/Google.Protobuf.Test/Collections/RepeatedFieldTest.cs index 33c4e10c..322100d0 100644 --- a/csharp/src/Google.Protobuf.Test/Collections/RepeatedFieldTest.cs +++ b/csharp/src/Google.Protobuf.Test/Collections/RepeatedFieldTest.cs @@ -221,7 +221,7 @@ namespace Google.Protobuf.Collections { uint packedTag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); var length = CodedOutputStream.ComputeInt32Size(10) + CodedOutputStream.ComputeInt32Size(999) + CodedOutputStream.ComputeInt32Size(-1000); @@ -237,7 +237,7 @@ namespace Google.Protobuf.Collections // actually packed. uint nonPackedTag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField<int>(); - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(packedTag); field.AddEntriesFrom(input, FieldCodec.ForInt32(nonPackedTag)); CollectionAssert.AreEqual(new[] { 10, 999, -1000 }, field); @@ -249,7 +249,7 @@ namespace Google.Protobuf.Collections { uint nonPackedTag = WireFormat.MakeTag(10, WireFormat.WireType.Varint); var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); output.WriteTag(nonPackedTag); output.WriteInt32(10); output.WriteTag(nonPackedTag); @@ -263,7 +263,7 @@ namespace Google.Protobuf.Collections // actually not packed. uint packedTag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField<int>(); - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(nonPackedTag); field.AddEntriesFrom(input, FieldCodec.ForInt32(packedTag)); CollectionAssert.AreEqual(new[] { 10, 999, -1000 }, field); @@ -275,7 +275,7 @@ namespace Google.Protobuf.Collections { uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); output.WriteTag(tag); output.WriteString("Foo"); output.WriteTag(tag); @@ -286,7 +286,7 @@ namespace Google.Protobuf.Collections stream.Position = 0; var field = new RepeatedField<string>(); - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); field.AddEntriesFrom(input, FieldCodec.ForString(tag)); CollectionAssert.AreEqual(new[] { "Foo", "", "Bar" }, field); @@ -301,7 +301,7 @@ namespace Google.Protobuf.Collections uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); output.WriteTag(tag); output.WriteMessage(message1); output.WriteTag(tag); @@ -310,7 +310,7 @@ namespace Google.Protobuf.Collections stream.Position = 0; var field = new RepeatedField<ForeignMessage>(); - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); field.AddEntriesFrom(input, FieldCodec.ForMessage(tag, ForeignMessage.Parser)); CollectionAssert.AreEqual(new[] { message1, message2}, field); @@ -323,12 +323,12 @@ namespace Google.Protobuf.Collections uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField<int> { 10, 1000, 1000000 }; var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); field.WriteTo(output, FieldCodec.ForInt32(tag)); output.Flush(); stream.Position = 0; - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); var length = input.ReadLength(); Assert.AreEqual(10, input.ReadInt32()); @@ -344,12 +344,12 @@ namespace Google.Protobuf.Collections uint tag = WireFormat.MakeTag(10, WireFormat.WireType.Varint); var field = new RepeatedField<int> { 10, 1000, 1000000}; var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); field.WriteTo(output, FieldCodec.ForInt32(tag)); output.Flush(); stream.Position = 0; - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); Assert.AreEqual(10, input.ReadInt32()); input.AssertNextTag(tag); @@ -365,12 +365,12 @@ namespace Google.Protobuf.Collections uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField<string> { "Foo", "", "Bar" }; var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); field.WriteTo(output, FieldCodec.ForString(tag)); output.Flush(); stream.Position = 0; - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); Assert.AreEqual("Foo", input.ReadString()); input.AssertNextTag(tag); @@ -388,12 +388,12 @@ namespace Google.Protobuf.Collections uint tag = WireFormat.MakeTag(10, WireFormat.WireType.LengthDelimited); var field = new RepeatedField<ForeignMessage> { message1, message2 }; var stream = new MemoryStream(); - var output = CodedOutputStream.CreateInstance(stream); + var output = new CodedOutputStream(stream); field.WriteTo(output, FieldCodec.ForMessage(tag, ForeignMessage.Parser)); output.Flush(); stream.Position = 0; - var input = CodedInputStream.CreateInstance(stream); + var input = new CodedInputStream(stream); input.AssertNextTag(tag); Assert.AreEqual(message1, input.ReadMessage(ForeignMessage.Parser)); input.AssertNextTag(tag); @@ -444,7 +444,7 @@ namespace Google.Protobuf.Collections int arraySize = 1 + 1 + (11 * 5); int msgSize = arraySize; byte[] bytes = new byte[msgSize]; - CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); + CodedOutputStream output = new CodedOutputStream(bytes); uint tag = WireFormat.MakeTag(8, WireFormat.WireType.Varint); for (int i = 0; i >= -5; i--) { @@ -454,7 +454,7 @@ namespace Google.Protobuf.Collections Assert.AreEqual(0, output.SpaceLeft); - CodedInputStream input = CodedInputStream.CreateInstance(bytes); + CodedInputStream input = new CodedInputStream(bytes); Assert.IsTrue(input.ReadTag(out tag)); RepeatedField<SampleEnum> values = new RepeatedField<SampleEnum>(); @@ -476,7 +476,7 @@ namespace Google.Protobuf.Collections int arraySize = 1 + (10 * 5); int msgSize = 1 + 1 + arraySize; byte[] bytes = new byte[msgSize]; - CodedOutputStream output = CodedOutputStream.CreateInstance(bytes); + CodedOutputStream output = new CodedOutputStream(bytes); // Length-delimited to show we want the packed representation uint tag = WireFormat.MakeTag(8, WireFormat.WireType.LengthDelimited); output.WriteTag(tag); @@ -492,7 +492,7 @@ namespace Google.Protobuf.Collections } Assert.AreEqual(0, output.SpaceLeft); - CodedInputStream input = CodedInputStream.CreateInstance(bytes); + CodedInputStream input = new CodedInputStream(bytes); Assert.IsTrue(input.ReadTag(out tag)); RepeatedField<SampleEnum> values = new RepeatedField<SampleEnum>(); diff --git a/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs b/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs index c6ed2a21..6f145a44 100644 --- a/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs +++ b/csharp/src/Google.Protobuf.Test/FieldCodecTest.cs @@ -120,11 +120,11 @@ namespace Google.Protobuf public void TestRoundTripRaw() { var stream = new MemoryStream(); - var codedOutput = CodedOutputStream.CreateInstance(stream); + var codedOutput = new CodedOutputStream(stream); codec.ValueWriter(codedOutput, sampleValue); codedOutput.Flush(); stream.Position = 0; - var codedInput = CodedInputStream.CreateInstance(stream); + var codedInput = new CodedInputStream(stream); Assert.AreEqual(sampleValue, codec.ValueReader(codedInput)); Assert.IsTrue(codedInput.IsAtEnd); } @@ -132,11 +132,11 @@ namespace Google.Protobuf public void TestRoundTripWithTag() { var stream = new MemoryStream(); - var codedOutput = CodedOutputStream.CreateInstance(stream); + var codedOutput = new CodedOutputStream(stream); codec.WriteTagAndValue(codedOutput, sampleValue); codedOutput.Flush(); stream.Position = 0; - var codedInput = CodedInputStream.CreateInstance(stream); + var codedInput = new CodedInputStream(stream); codedInput.AssertNextTag(codec.Tag); Assert.AreEqual(sampleValue, codec.Read(codedInput)); Assert.IsTrue(codedInput.IsAtEnd); @@ -145,7 +145,7 @@ namespace Google.Protobuf public void TestCalculateSizeWithTag() { var stream = new MemoryStream(); - var codedOutput = CodedOutputStream.CreateInstance(stream); + var codedOutput = new CodedOutputStream(stream); codec.WriteTagAndValue(codedOutput, sampleValue); codedOutput.Flush(); Assert.AreEqual(stream.Position, codec.CalculateSizeWithTag(sampleValue)); @@ -155,7 +155,7 @@ namespace Google.Protobuf { // WriteTagAndValue ignores default values var stream = new MemoryStream(); - var codedOutput = CodedOutputStream.CreateInstance(stream); + var codedOutput = new CodedOutputStream(stream); codec.WriteTagAndValue(codedOutput, codec.DefaultValue); codedOutput.Flush(); Assert.AreEqual(0, stream.Position); @@ -168,13 +168,13 @@ namespace Google.Protobuf // The plain ValueWriter/ValueReader delegates don't. if (codec.DefaultValue != null) // This part isn't appropriate for message types. { - codedOutput = CodedOutputStream.CreateInstance(stream); + codedOutput = new CodedOutputStream(stream); codec.ValueWriter(codedOutput, codec.DefaultValue); codedOutput.Flush(); Assert.AreNotEqual(0, stream.Position); Assert.AreEqual(stream.Position, codec.ValueSizeCalculator(codec.DefaultValue)); stream.Position = 0; - var codedInput = CodedInputStream.CreateInstance(stream); + var codedInput = new CodedInputStream(stream); Assert.AreEqual(codec.DefaultValue, codec.ValueReader(codedInput)); } } diff --git a/csharp/src/Google.Protobuf.Test/GeneratedMessageTest.cs b/csharp/src/Google.Protobuf.Test/GeneratedMessageTest.cs index 140b878c..2b6265c1 100644 --- a/csharp/src/Google.Protobuf.Test/GeneratedMessageTest.cs +++ b/csharp/src/Google.Protobuf.Test/GeneratedMessageTest.cs @@ -253,7 +253,7 @@ namespace Google.Protobuf {
// Hand-craft the stream to contain a single entry with just a value.
var memoryStream = new MemoryStream();
- var output = CodedOutputStream.CreateInstance(memoryStream);
+ var output = new CodedOutputStream(memoryStream);
output.WriteTag(TestMap.MapInt32ForeignMessageFieldNumber, WireFormat.WireType.LengthDelimited);
var nestedMessage = new ForeignMessage { C = 20 };
// Size of the entry (tag, size written by WriteMessage, data written by WriteMessage)
@@ -271,7 +271,7 @@ namespace Google.Protobuf {
// Hand-craft the stream to contain a single entry with three fields
var memoryStream = new MemoryStream();
- var output = CodedOutputStream.CreateInstance(memoryStream);
+ var output = new CodedOutputStream(memoryStream);
output.WriteTag(TestMap.MapInt32Int32FieldNumber, WireFormat.WireType.LengthDelimited);
@@ -298,7 +298,7 @@ namespace Google.Protobuf public void MapFieldOrderIsIrrelevant()
{
var memoryStream = new MemoryStream();
- var output = CodedOutputStream.CreateInstance(memoryStream);
+ var output = new CodedOutputStream(memoryStream);
output.WriteTag(TestMap.MapInt32Int32FieldNumber, WireFormat.WireType.LengthDelimited);
@@ -322,7 +322,7 @@ namespace Google.Protobuf public void MapNonContiguousEntries()
{
var memoryStream = new MemoryStream();
- var output = CodedOutputStream.CreateInstance(memoryStream);
+ var output = new CodedOutputStream(memoryStream);
// Message structure:
// Entry for MapInt32Int32
@@ -373,7 +373,7 @@ namespace Google.Protobuf public void DuplicateKeys_LastEntryWins()
{
var memoryStream = new MemoryStream();
- var output = CodedOutputStream.CreateInstance(memoryStream);
+ var output = new CodedOutputStream(memoryStream);
var key = 10;
var value1 = 20;
diff --git a/csharp/src/Google.Protobuf.Test/TestCornerCases.cs b/csharp/src/Google.Protobuf.Test/TestCornerCases.cs index b270a6f9..03fa1855 100644 --- a/csharp/src/Google.Protobuf.Test/TestCornerCases.cs +++ b/csharp/src/Google.Protobuf.Test/TestCornerCases.cs @@ -50,7 +50,7 @@ namespace Google.Protobuf Assert.AreEqual(58, msg.CalculateSize());
byte[] bytes = new byte[58];
- CodedOutputStream output = CodedOutputStream.CreateInstance(bytes);
+ CodedOutputStream output = new CodedOutputStream(bytes);
msg.WriteTo(output);
Assert.AreEqual(0, output.SpaceLeft);
diff --git a/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs b/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs index 670bc5f8..d2a07057 100644 --- a/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs +++ b/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs @@ -309,7 +309,7 @@ namespace Google.Protobuf.WellKnownTypes var valueTag = WireFormat.MakeTag(Int32Value.ValueFieldNumber, WireFormat.WireType.Varint); using (var stream = new MemoryStream()) { - var coded = CodedOutputStream.CreateInstance(stream); + var coded = new CodedOutputStream(stream); coded.WriteTag(wrapperTag); coded.WriteLength(2); // valueTag + a value 0, each one byte coded.WriteTag(valueTag); diff --git a/csharp/src/Google.Protobuf/ByteString.cs b/csharp/src/Google.Protobuf/ByteString.cs index 329f47f6..cf5468d2 100644 --- a/csharp/src/Google.Protobuf/ByteString.cs +++ b/csharp/src/Google.Protobuf/ByteString.cs @@ -203,7 +203,7 @@ namespace Google.Protobuf public CodedInputStream CreateCodedInput()
{
// We trust CodedInputStream not to reveal the provided byte array or modify it
- return CodedInputStream.CreateInstance(bytes);
+ return new CodedInputStream(bytes);
}
public static bool operator ==(ByteString lhs, ByteString rhs)
diff --git a/csharp/src/Google.Protobuf/CodedInputStream.cs b/csharp/src/Google.Protobuf/CodedInputStream.cs index ef7cf114..f2e1d661 100644 --- a/csharp/src/Google.Protobuf/CodedInputStream.cs +++ b/csharp/src/Google.Protobuf/CodedInputStream.cs @@ -93,43 +93,19 @@ namespace Google.Protobuf private int sizeLimit = DefaultSizeLimit;
#region Construction
-
- /// <summary>
- /// Creates a new CodedInputStream reading data from the given
- /// stream.
- /// </summary>
- public static CodedInputStream CreateInstance(Stream input)
- {
- return new CodedInputStream(input);
- }
- /// <summary>
- /// Creates a new CodedInputStream reading data from the given
- /// stream and a pre-allocated memory buffer.
- /// </summary>
- public static CodedInputStream CreateInstance(Stream input, byte[] buffer)
- {
- return new CodedInputStream(input, buffer);
- }
-
/// <summary>
/// Creates a new CodedInputStream reading data from the given
/// byte array.
/// </summary>
- public static CodedInputStream CreateInstance(byte[] buf)
+ public CodedInputStream(byte[] buf) : this(buf, 0, buf.Length)
{
- return new CodedInputStream(buf, 0, buf.Length);
}
/// <summary>
/// Creates a new CodedInputStream that reads from the given
/// byte array slice.
/// </summary>
- public static CodedInputStream CreateInstance(byte[] buf, int offset, int length)
- {
- return new CodedInputStream(buf, offset, length);
- }
-
- private CodedInputStream(byte[] buffer, int offset, int length)
+ public CodedInputStream(byte[] buffer, int offset, int length)
{
this.buffer = buffer;
this.bufferPos = offset;
@@ -137,14 +113,21 @@ namespace Google.Protobuf this.input = null;
}
- private CodedInputStream(Stream input)
+ /// <summary>
+ /// Creates a new CodedInputStream reading data from the given stream.
+ /// </summary>
+ public CodedInputStream(Stream input)
{
this.buffer = new byte[BufferSize];
this.bufferSize = 0;
this.input = input;
}
- private CodedInputStream(Stream input, byte[] buffer)
+ /// <summary>
+ /// Creates a new CodedInputStream reading data from the given
+ /// stream, with a pre-allocated buffer.
+ /// </summary>
+ internal CodedInputStream(Stream input, byte[] buffer)
{
this.buffer = buffer;
this.bufferSize = 0;
diff --git a/csharp/src/Google.Protobuf/CodedOutputStream.cs b/csharp/src/Google.Protobuf/CodedOutputStream.cs index b91d6d70..b084c14f 100644 --- a/csharp/src/Google.Protobuf/CodedOutputStream.cs +++ b/csharp/src/Google.Protobuf/CodedOutputStream.cs @@ -65,7 +65,20 @@ namespace Google.Protobuf private readonly Stream output;
#region Construction
+ /// <summary>
+ /// Creates a new CodedOutputStream that writes directly to the given
+ /// byte array. If more bytes are written than fit in the array,
+ /// OutOfSpaceException will be thrown.
+ /// </summary>
+ public CodedOutputStream(byte[] flatArray) : this(flatArray, 0, flatArray.Length)
+ {
+ }
+ /// <summary>
+ /// Creates a new CodedOutputStream that writes directly to the given
+ /// byte array slice. If more bytes are written than fit in the array,
+ /// OutOfSpaceException will be thrown.
+ /// </summary>
private CodedOutputStream(byte[] buffer, int offset, int length)
{
this.output = null;
@@ -85,40 +98,17 @@ namespace Google.Protobuf /// <summary>
/// Creates a new CodedOutputStream which write to the given stream.
/// </summary>
- public static CodedOutputStream CreateInstance(Stream output)
+ public CodedOutputStream(Stream output) : this(output, DefaultBufferSize)
{
- return CreateInstance(output, DefaultBufferSize);
}
/// <summary>
/// Creates a new CodedOutputStream which write to the given stream and uses
/// the specified buffer size.
/// </summary>
- public static CodedOutputStream CreateInstance(Stream output, int bufferSize)
- {
- return new CodedOutputStream(output, new byte[bufferSize]);
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream that writes directly to the given
- /// byte array. If more bytes are written than fit in the array,
- /// OutOfSpaceException will be thrown.
- /// </summary>
- public static CodedOutputStream CreateInstance(byte[] flatArray)
+ public CodedOutputStream(Stream output, int bufferSize) : this(output, new byte[bufferSize])
{
- return CreateInstance(flatArray, 0, flatArray.Length);
- }
-
- /// <summary>
- /// Creates a new CodedOutputStream that writes directly to the given
- /// byte array slice. If more bytes are written than fit in the array,
- /// OutOfSpaceException will be thrown.
- /// </summary>
- public static CodedOutputStream CreateInstance(byte[] flatArray, int offset, int length)
- {
- return new CodedOutputStream(flatArray, offset, length);
- }
-
+ }
#endregion
/// <summary>
diff --git a/csharp/src/Google.Protobuf/MessageExtensions.cs b/csharp/src/Google.Protobuf/MessageExtensions.cs index 7bd79930..6e7d47bc 100644 --- a/csharp/src/Google.Protobuf/MessageExtensions.cs +++ b/csharp/src/Google.Protobuf/MessageExtensions.cs @@ -43,7 +43,7 @@ namespace Google.Protobuf { Preconditions.CheckNotNull(message, "message"); Preconditions.CheckNotNull(data, "data"); - CodedInputStream input = CodedInputStream.CreateInstance(data); + CodedInputStream input = new CodedInputStream(data); message.MergeFrom(input); input.CheckLastTagWas(0); } @@ -61,7 +61,7 @@ namespace Google.Protobuf { Preconditions.CheckNotNull(message, "message"); Preconditions.CheckNotNull(input, "input"); - CodedInputStream codedInput = CodedInputStream.CreateInstance(input); + CodedInputStream codedInput = new CodedInputStream(input); message.MergeFrom(codedInput); codedInput.CheckLastTagWas(0); } @@ -79,7 +79,7 @@ namespace Google.Protobuf { Preconditions.CheckNotNull(message, "message"); byte[] result = new byte[message.CalculateSize()]; - CodedOutputStream output = CodedOutputStream.CreateInstance(result); + CodedOutputStream output = new CodedOutputStream(result); message.WriteTo(output); output.CheckNoSpaceLeft(); return result; @@ -89,7 +89,7 @@ namespace Google.Protobuf { Preconditions.CheckNotNull(message, "message"); Preconditions.CheckNotNull(output, "output"); - CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output); + CodedOutputStream codedOutput = new CodedOutputStream(output); message.WriteTo(codedOutput); codedOutput.Flush(); } @@ -98,7 +98,7 @@ namespace Google.Protobuf { Preconditions.CheckNotNull(message, "message"); Preconditions.CheckNotNull(output, "output"); - CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output); + CodedOutputStream codedOutput = new CodedOutputStream(output); codedOutput.WriteRawVarint32((uint)message.CalculateSize()); message.WriteTo(codedOutput); codedOutput.Flush(); diff --git a/csharp/src/Google.Protobuf/Properties/AssemblyInfo.cs b/csharp/src/Google.Protobuf/Properties/AssemblyInfo.cs index 73a78b01..9a484ad6 100644 --- a/csharp/src/Google.Protobuf/Properties/AssemblyInfo.cs +++ b/csharp/src/Google.Protobuf/Properties/AssemblyInfo.cs @@ -32,6 +32,7 @@ using System.Reflection;
using System.Runtime.CompilerServices;
+using System.Security;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
@@ -45,6 +46,7 @@ using System.Runtime.CompilerServices; [assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
+[assembly: AllowPartiallyTrustedCallers]
#if SIGNED
[assembly: InternalsVisibleTo("Google.Protobuf.Test, PublicKey=" +
|