Skip to content

Commit 98ce02f

Browse files
authored
Merge pull request #29 from servicetitan/argument-validator
ArgumentValidator - Do not check parameter names for null
2 parents 7339ec3 + 288b150 commit 98ce02f

File tree

1 file changed

+6
-21
lines changed

1 file changed

+6
-21
lines changed

Orm/Xtensive.Orm/Core/ArgumentValidator.cs

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using System;
88
using System.Runtime.CompilerServices;
99
using JetBrains.Annotations;
10-
using Xtensive.Core;
1110
using Xtensive.Comparison;
1211

1312

@@ -28,7 +27,6 @@ public static class ArgumentValidator
2827
public static void EnsureArgumentNotNull(object value, [InvokerParameterName] string parameterName)
2928
{
3029
if (value==null) {
31-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
3230
throw new ArgumentNullException(parameterName);
3331
}
3432
}
@@ -45,13 +43,11 @@ public static void EnsureArgumentIsNotDefault<T>(T value, [InvokerParameterName]
4543
{
4644
if (default(T)==null) {
4745
if (value==null) {
48-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
49-
throw Exceptions.InvalidArgument(value, "parameterName");
46+
throw Exceptions.InvalidArgument(value, parameterName);
5047
}
5148
}
52-
else if (AdvancedComparerStruct<T>.System.Equals(value, default(T))) {
53-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
54-
throw Exceptions.InvalidArgument(value, "parameterName");
49+
else if (AdvancedComparerStruct<T>.System.Equals(value, default)) {
50+
throw Exceptions.InvalidArgument(value, parameterName);
5551
}
5652
}
5753

@@ -65,11 +61,9 @@ public static void EnsureArgumentIsNotDefault<T>(T value, [InvokerParameterName]
6561
public static void EnsureArgumentNotNullOrEmpty(string value, [InvokerParameterName] string parameterName)
6662
{
6763
if (value == null) {
68-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
6964
throw new ArgumentNullException(parameterName);
7065
}
7166
if (value.Length == 0) {
72-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
7367
throw new ArgumentException(Strings.ExArgumentCannotBeEmptyString, parameterName);
7468
}
7569
}
@@ -78,15 +72,14 @@ public static void EnsureArgumentNotNullOrEmpty(string value, [InvokerParameterN
7872
public static void EnsureArgumentNotNullOrEmptyOrWhiteSpace(string value, [InvokerParameterName] string parameterName)
7973
{
8074
if (value==null) {
81-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
8275
throw new ArgumentNullException(parameterName);
8376
}
77+
8478
if (value.Length==0) {
85-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
8679
throw new ArgumentException(Strings.ExArgumentCannotBeEmptyString, parameterName);
8780
}
81+
8882
if (value.Trim().Length==0) {
89-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
9083
throw new ArgumentException(Strings.ExArgumentCannotBeWhiteSpacesOnlyString, parameterName);
9184
}
9285
}
@@ -103,7 +96,6 @@ public static void EnsureArgumentIs<T>(object value, [InvokerParameterName] stri
10396
{
10497
EnsureArgumentNotNull(value, parameterName);
10598
if (!(value is T)) {
106-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
10799
throw new ArgumentException(string.Format(Strings.ExInvalidArgumentType, typeof(T)), parameterName);
108100
}
109101
}
@@ -119,8 +111,7 @@ public static void EnsureArgumentIs<T>(object value, [InvokerParameterName] stri
119111
public static void EnsureArgumentIs(object value, Type type, [InvokerParameterName] string parameterName)
120112
{
121113
EnsureArgumentNotNull(value, parameterName);
122-
if (!type.IsAssignableFrom(value.GetType())) {
123-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
114+
if (!type.IsInstanceOfType(value)) {
124115
throw new ArgumentException(string.Format(Strings.ExInvalidArgumentType, type), parameterName);
125116
}
126117
}
@@ -138,7 +129,6 @@ public static void EnsureArgumentIsNullOr<T>(object value, [InvokerParameterName
138129
if (value==null)
139130
return;
140131
if (!(value is T)) {
141-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
142132
throw new ArgumentException(string.Format(Strings.ExInvalidArgumentType, typeof(T)), parameterName);
143133
}
144134
}
@@ -157,7 +147,6 @@ public static void EnsureArgumentIsInRange<T>(T value, T lowerBoundary, T upperB
157147
where T: struct, IComparable<T>
158148
{
159149
if (value.CompareTo(lowerBoundary)<0 || value.CompareTo(upperBoundary)>0) {
160-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
161150
throw new ArgumentOutOfRangeException(parameterName, value,
162151
string.Format(Strings.ExArgumentShouldBeInRange, lowerBoundary, upperBoundary));
163152
}
@@ -176,7 +165,6 @@ public static void EnsureArgumentIsGreaterThan<T>(T value, T boundary, [InvokerP
176165
{
177166
if (value.CompareTo(boundary) > 0)
178167
return;
179-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
180168
throw new ArgumentOutOfRangeException(parameterName, value,
181169
string.Format(Strings.ExArgumentMustBeGreaterThanX, boundary));
182170
}
@@ -195,7 +183,6 @@ public static void EnsureArgumentIsGreaterThanOrEqual<T>(T value, T boundary, [I
195183
{
196184
if (value.CompareTo(boundary) >= 0)
197185
return;
198-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
199186
throw new ArgumentOutOfRangeException(parameterName, value,
200187
string.Format(Strings.ExArgumentMustBeGreaterThatOrEqualX, boundary));
201188
}
@@ -214,7 +201,6 @@ public static void EnsureArgumentIsLessThan<T>(T value, T boundary, [InvokerPara
214201
{
215202
if (value.CompareTo(boundary) < 0)
216203
return;
217-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
218204
throw new ArgumentOutOfRangeException(parameterName, value,
219205
string.Format(Strings.ExArgumentMustBeLessThanX, boundary));
220206
}
@@ -233,7 +219,6 @@ public static void EnsureArgumentIsLessThanOrEqual<T>(T value, T boundary, [Invo
233219
{
234220
if (value.CompareTo(boundary) <= 0)
235221
return;
236-
EnsureArgumentNotNullOrEmpty(parameterName, "parameterName");
237222
throw new ArgumentOutOfRangeException(parameterName, value,
238223
string.Format(Strings.ExArgumentMustBeLessThanOrEqualX, boundary));
239224
}

0 commit comments

Comments
 (0)