Rename ThrowHelper to Preconditions and make it public - we'll want to use it from the generated code soon.
Additionally, change it to return the value passed, and make it generic with a class constraint.
A separate method doesn't have the class constraint, for more unusual scenarios.
diff --git a/csharp/src/Google.Protobuf/MessageExtensions.cs b/csharp/src/Google.Protobuf/MessageExtensions.cs
index ee2863d..7bd7993 100644
--- a/csharp/src/Google.Protobuf/MessageExtensions.cs
+++ b/csharp/src/Google.Protobuf/MessageExtensions.cs
@@ -41,8 +41,8 @@
{
public static void MergeFrom(this IMessage message, byte[] data)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(data, "data");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(data, "data");
CodedInputStream input = CodedInputStream.CreateInstance(data);
message.MergeFrom(input);
input.CheckLastTagWas(0);
@@ -50,8 +50,8 @@
public static void MergeFrom(this IMessage message, ByteString data)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(data, "data");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(data, "data");
CodedInputStream input = data.CreateCodedInput();
message.MergeFrom(input);
input.CheckLastTagWas(0);
@@ -59,8 +59,8 @@
public static void MergeFrom(this IMessage message, Stream input)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(input, "input");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(input, "input");
CodedInputStream codedInput = CodedInputStream.CreateInstance(input);
message.MergeFrom(codedInput);
codedInput.CheckLastTagWas(0);
@@ -68,8 +68,8 @@
public static void MergeDelimitedFrom(this IMessage message, Stream input)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(input, "input");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(input, "input");
int size = (int) CodedInputStream.ReadRawVarint32(input);
Stream limitedStream = new LimitedInputStream(input, size);
message.MergeFrom(limitedStream);
@@ -77,7 +77,7 @@
public static byte[] ToByteArray(this IMessage message)
{
- ThrowHelper.ThrowIfNull(message, "message");
+ Preconditions.CheckNotNull(message, "message");
byte[] result = new byte[message.CalculateSize()];
CodedOutputStream output = CodedOutputStream.CreateInstance(result);
message.WriteTo(output);
@@ -87,8 +87,8 @@
public static void WriteTo(this IMessage message, Stream output)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(output, "output");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(output, "output");
CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output);
message.WriteTo(codedOutput);
codedOutput.Flush();
@@ -96,8 +96,8 @@
public static void WriteDelimitedTo(this IMessage message, Stream output)
{
- ThrowHelper.ThrowIfNull(message, "message");
- ThrowHelper.ThrowIfNull(output, "output");
+ Preconditions.CheckNotNull(message, "message");
+ Preconditions.CheckNotNull(output, "output");
CodedOutputStream codedOutput = CodedOutputStream.CreateInstance(output);
codedOutput.WriteRawVarint32((uint)message.CalculateSize());
message.WriteTo(codedOutput);
@@ -106,7 +106,7 @@
public static ByteString ToByteString(this IMessage message)
{
- ThrowHelper.ThrowIfNull(message, "message");
+ Preconditions.CheckNotNull(message, "message");
return ByteString.AttachBytes(message.ToByteArray());
}
}