diff Implab/Safe.cs @ 228:6fa235c5a760 v2

Rewritten JsonScanner, JsonParser, fixed naming style
author cin
date Tue, 12 Sep 2017 01:19:12 +0300
parents 8808383fcb94
children bdfdba6b645b
line wrap: on
line diff
--- a/Implab/Safe.cs	Sat Sep 09 03:53:13 2017 +0300
+++ b/Implab/Safe.cs	Tue Sep 12 01:19:12 2017 +0300
@@ -5,6 +5,7 @@
 using System.Text.RegularExpressions;
 using System.Diagnostics;
 using System.Collections;
+using System.Runtime.CompilerServices;
 
 #if NET_4_5
 using System.Threading.Tasks;
@@ -14,11 +15,13 @@
 {
     public static class Safe
     {
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentAssert(bool condition, string paramName) {
             if (!condition)
                 throw new ArgumentException("The parameter is invalid", paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentMatch(string value, string paramName, Regex rx) {
             if (rx == null)
                 throw new ArgumentNullException("rx");
@@ -26,26 +29,37 @@
                 throw new ArgumentException(String.Format("The prameter value must match {0}", rx), paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentNotEmpty(string value, string paramName) {
             if (String.IsNullOrEmpty(value))
                 throw new ArgumentException("The parameter can't be empty", paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentNotEmpty<T>(T[] value, string paramName) {
             if (value == null || value.Length == 0)
                 throw new ArgumentException("The array must be not emty", paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentNotNull(object value, string paramName) {
             if (value == null)
                 throw new ArgumentNullException(paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        internal static void ArgumentGreaterThan(int value, int min, string paramName) {
+            if (value < min)
+                throw new ArgumentOutOfRangeException(paramName);
+        }
+
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentInRange(int value, int min, int max, string paramName) {
             if (value < min || value > max)
                 throw new ArgumentOutOfRangeException(paramName);
         }
 
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void ArgumentOfType(object value, Type type, string paramName) {
             if (!type.IsInstanceOfType(value))
                 throw new ArgumentException(String.Format("The parameter must be of type {0}", type), paramName);