Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Requires.cs
Go to the documentation of this file.
3
5
6internal static class Requires
7{
8 [DebuggerStepThrough]
9 public static void NotNull<T>([ValidatedNotNull] T value, string? parameterName) where T : class
10 {
11 if (value == null)
12 {
13 FailArgumentNullException(parameterName);
14 }
15 }
16
17 [DebuggerStepThrough]
18 public static T NotNullPassthrough<T>([ValidatedNotNull] T value, string? parameterName) where T : class
19 {
20 NotNull(value, parameterName);
21 return value;
22 }
23
24 [DebuggerStepThrough]
25 public static void NotNullAllowStructs<T>([ValidatedNotNull] T value, string? parameterName)
26 {
27 if (value == null)
28 {
29 FailArgumentNullException(parameterName);
30 }
31 }
32
33 [DebuggerStepThrough]
34 private static void FailArgumentNullException(string parameterName)
35 {
36 throw new ArgumentNullException(parameterName);
37 }
38
39 [DebuggerStepThrough]
40 public static void Range(bool condition, string? parameterName, string? message = null)
41 {
42 if (!condition)
43 {
44 FailRange(parameterName, message);
45 }
46 }
47
48 [DebuggerStepThrough]
49 public static void FailRange(string? parameterName, string? message = null)
50 {
51 if (string.IsNullOrEmpty(message))
52 {
53 throw new ArgumentOutOfRangeException(parameterName);
54 }
55 throw new ArgumentOutOfRangeException(parameterName, message);
56 }
57
58 [DebuggerStepThrough]
59 public static void Argument(bool condition, string? parameterName, string? message)
60 {
61 if (!condition)
62 {
63 throw new ArgumentException(message, parameterName);
64 }
65 }
66
67 [DebuggerStepThrough]
68 public static void Argument(bool condition)
69 {
70 if (!condition)
71 {
72 throw new ArgumentException();
73 }
74 }
75
76 [MethodImpl(MethodImplOptions.NoInlining)]
77 [DebuggerStepThrough]
78 public static void FailObjectDisposed<TDisposed>(TDisposed disposed)
79 {
80 throw new ObjectDisposedException(disposed.GetType().FullName);
81 }
82}
static T NotNullPassthrough< T >([ValidatedNotNull] T value, string? parameterName)
Definition Requires.cs:18
static void FailRange(string? parameterName, string? message=null)
Definition Requires.cs:49
static void Argument(bool condition)
Definition Requires.cs:68
static void Range(bool condition, string? parameterName, string? message=null)
Definition Requires.cs:40
static void FailArgumentNullException(string parameterName)
Definition Requires.cs:34
static void Argument(bool condition, string? parameterName, string? message)
Definition Requires.cs:59
static void NotNull< T >([ValidatedNotNull] T value, string? parameterName)
Definition Requires.cs:9
static void NotNullAllowStructs< T >([ValidatedNotNull] T value, string? parameterName)
Definition Requires.cs:25
static void FailObjectDisposed< TDisposed >(TDisposed disposed)
Definition Requires.cs:78