Skip to content

Commit 894c331

Browse files
committed
refactor: break Throw up into several files
Signed-off-by: Kenny Pflug <kenny.pflug@live.de>
1 parent cd34ecc commit 894c331

58 files changed

Lines changed: 1783 additions & 1368 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Code/Light.GuardClauses.Performance/CollectionAssertions/SpanMustHaveLengthBenchmark.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,23 +48,23 @@ public static class SpanMustHaveLengthExtensions
4848
public static Span<T> MustHaveLengthCopyByValue<T>(this Span<T> parameter, int length, string parameterName = null, string message = null)
4949
{
5050
if (parameter.Length != length)
51-
Throw.InvalidSpanLength(parameter, length, parameterName, message);
51+
Throw.InvalidSpanLength((ReadOnlySpan<T>) parameter, length, parameterName, message);
5252
return parameter;
5353
}
5454

5555
[MethodImpl(MethodImplOptions.AggressiveInlining)]
5656
public static Span<T> MustHaveLengthInParameter<T>(in this Span<T> parameter, int length, string parameterName = null, string message = null)
5757
{
5858
if (parameter.Length != length)
59-
Throw.InvalidSpanLength(parameter, length, parameterName, message);
59+
Throw.InvalidSpanLength((ReadOnlySpan<T>) parameter, length, parameterName, message);
6060
return parameter;
6161
}
6262

6363
[MethodImpl(MethodImplOptions.AggressiveInlining)]
6464
public static ref Span<T> MustHaveLengthInOut<T>(ref this Span<T> parameter, int length, string parameterName = null, string message = null)
6565
{
6666
if (parameter.Length != length)
67-
Throw.InvalidSpanLength(parameter, length, parameterName, message);
67+
Throw.InvalidSpanLength((ReadOnlySpan<T>) parameter, length, parameterName, message);
6868
return ref parameter;
6969
}
7070
}

Code/Light.GuardClauses/Check.Equals.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Runtime.CompilerServices;
33
using Light.GuardClauses.ExceptionFactory;
4-
using Light.GuardClauses.Exceptions;
54
using Light.GuardClauses.FrameworkExtensions;
65

76
namespace Light.GuardClauses;

Code/Light.GuardClauses/Check.InvalidArgument.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.Runtime.CompilerServices;
33
using JetBrains.Annotations;
44
using Light.GuardClauses.ExceptionFactory;
5-
using Light.GuardClauses.Exceptions;
65

76
namespace Light.GuardClauses;
87

Code/Light.GuardClauses/Check.InvalidOperation.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using System;
22
using System.Runtime.CompilerServices;
33
using Light.GuardClauses.ExceptionFactory;
4-
using Light.GuardClauses.Exceptions;
54

65
namespace Light.GuardClauses;
76

Code/Light.GuardClauses/Check.MustBeLongerThan.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public static Span<T> MustBeLongerThan<T>(
7474
string? message = null
7575
)
7676
{
77-
if (parameter.Length <= length)
78-
{
79-
Throw.SpanMustBeLongerThan(parameter, length, parameterName, message);
80-
}
81-
77+
((ReadOnlySpan<T>) parameter).MustBeLongerThan(length, parameterName, message);
8278
return parameter;
8379
}
8480

Code/Light.GuardClauses/Check.MustBeLongerThanOrEqualTo.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public static Span<T> MustBeLongerThanOrEqualTo<T>(
7474
string? message = null
7575
)
7676
{
77-
if (parameter.Length < length)
78-
{
79-
Throw.SpanMustBeLongerThanOrEqualTo(parameter, length, parameterName, message);
80-
}
81-
77+
((ReadOnlySpan<T>) parameter).MustBeLongerThanOrEqualTo(length, parameterName, message);
8278
return parameter;
8379
}
8480

@@ -116,7 +112,7 @@ SpanExceptionFactory<T, int> exceptionFactory
116112
public static ReadOnlySpan<T> MustBeLongerThanOrEqualTo<T>(
117113
this ReadOnlySpan<T> parameter,
118114
int length,
119-
[CallerArgumentExpression("parameter")] string? parameterName = null,
115+
[CallerArgumentExpression(nameof(parameter))] string? parameterName = null,
120116
string? message = null
121117
)
122118
{

Code/Light.GuardClauses/Check.MustBeShorterThan.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public static Span<T> MustBeShorterThan<T>(
7474
string? message = null
7575
)
7676
{
77-
if (parameter.Length >= length)
78-
{
79-
Throw.SpanMustBeShorterThan(parameter, length, parameterName, message);
80-
}
81-
77+
((ReadOnlySpan<T>) parameter).MustBeShorterThan(length, parameterName, message);
8278
return parameter;
8379
}
8480

Code/Light.GuardClauses/Check.MustBeShorterThanOrEqualTo.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public static Span<T> MustBeShorterThanOrEqualTo<T>(
7474
string? message = null
7575
)
7676
{
77-
if (parameter.Length > length)
78-
{
79-
Throw.SpanMustBeShorterThanOrEqualTo(parameter, length, parameterName, message);
80-
}
81-
77+
((ReadOnlySpan<T>) parameter).MustBeShorterThanOrEqualTo(length, parameterName, message);
8278
return parameter;
8379
}
8480

Code/Light.GuardClauses/Check.MustHaveLength.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,7 @@ public static Span<T> MustHaveLength<T>(
7474
string? message = null
7575
)
7676
{
77-
if (parameter.Length != length)
78-
{
79-
Throw.InvalidSpanLength(parameter, length, parameterName, message);
80-
}
81-
77+
((ReadOnlySpan<T>) parameter).MustHaveLength(length, parameterName, message);
8278
return parameter;
8379
}
8480

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using System;
2+
using System.Diagnostics.CodeAnalysis;
3+
using JetBrains.Annotations;
4+
5+
namespace Light.GuardClauses.ExceptionFactory;
6+
7+
public static partial class Throw
8+
{
9+
/// <summary>
10+
/// Throws an <see cref="ArgumentException" /> using the optional parameter name and message.
11+
/// </summary>
12+
[ContractAnnotation("=> halt")]
13+
[DoesNotReturn]
14+
public static void Argument(string? parameterName = null, string? message = null) =>
15+
throw new ArgumentException(message ?? $"{parameterName ?? "The value"} is invalid.", parameterName);
16+
}

0 commit comments

Comments
 (0)