Common Enumerator exceptions
authorBen Adams <thundercat@illyriad.co.uk>
Wed, 12 Oct 2016 07:44:32 +0000 (08:44 +0100)
committerBen Adams <thundercat@illyriad.co.uk>
Thu, 13 Oct 2016 04:51:23 +0000 (05:51 +0100)
src/mscorlib/src/System/Array.cs
src/mscorlib/src/System/ArraySegment.cs
src/mscorlib/src/System/Collections/Generic/Dictionary.cs
src/mscorlib/src/System/Collections/Generic/List.cs
src/mscorlib/src/System/Runtime/InteropServices/WindowsRuntime/IteratorToEnumeratorAdapter.cs
src/mscorlib/src/System/ThrowHelper.cs

index 2260fd7..fa279a7 100644 (file)
@@ -2589,8 +2589,8 @@ namespace System {
     
             public Object Current {
                 get {
-                    if (_index < 0) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
-                    if (_index >= _endIndex) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    if (_index < 0) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
+                    if (_index >= _endIndex) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                     return _array.GetValue(_index);
                 }
             }
@@ -2667,8 +2667,8 @@ namespace System {
     
             public Object Current {
                 get {
-                    if (index < startIndex) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
-                    if (_complete) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    if (index < startIndex) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
+                    if (_complete) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                     return array.GetValue(_indices);
                 }
             }
@@ -2866,8 +2866,8 @@ namespace System {
     
             public T Current {
                 get {
-                    if (_index < 0) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
-                    if (_index >= _endIndex) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    if (_index < 0) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
+                    if (_index >= _endIndex) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                     return _array[_index];
                 }
             }
index bc39c24..95254bf 100644 (file)
@@ -315,8 +315,8 @@ namespace System
             {
                 get
                 {
-                    if (_current < _start) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
-                    if (_current >= _end) ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    if (_current < _start) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
+                    if (_current >= _end) ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                     return _array[_current];
                 }
             }
index 3c7b9b5..9501a0c 100644 (file)
@@ -733,7 +733,7 @@ namespace System.Collections.Generic {
 
             public bool MoveNext() {
                 if (version != dictionary.version) {
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                 }
 
                 // Use unsigned comparison since we set index to dictionary.count+1 when the enumeration ends.
@@ -762,7 +762,7 @@ namespace System.Collections.Generic {
             object IEnumerator.Current {
                 get { 
                     if( index == 0 || (index == dictionary.count + 1)) {
-                        ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                        ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                     }      
 
                     if (getEnumeratorRetType == DictEntry) {
@@ -775,7 +775,7 @@ namespace System.Collections.Generic {
 
             void IEnumerator.Reset() {
                 if (version != dictionary.version) {
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                 }
 
                 index = 0;
@@ -785,7 +785,7 @@ namespace System.Collections.Generic {
             DictionaryEntry IDictionaryEnumerator.Entry {
                 get { 
                     if( index == 0 || (index == dictionary.count + 1)) {
-                         ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                         ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                     }                        
                     
                     return new DictionaryEntry(current.Key, current.Value); 
@@ -795,7 +795,7 @@ namespace System.Collections.Generic {
             object IDictionaryEnumerator.Key {
                 get { 
                     if( index == 0 || (index == dictionary.count + 1)) {
-                         ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                         ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                     }                        
                     
                     return current.Key; 
@@ -805,7 +805,7 @@ namespace System.Collections.Generic {
             object IDictionaryEnumerator.Value {
                 get { 
                     if( index == 0 || (index == dictionary.count + 1)) {
-                         ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                         ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                     }                        
                     
                     return current.Value; 
@@ -956,7 +956,7 @@ namespace System.Collections.Generic {
 
                 public bool MoveNext() {
                     if (version != dictionary.version) {
-                        ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                        ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                     }
 
                     while ((uint)index < (uint)dictionary.count) {
@@ -982,7 +982,7 @@ namespace System.Collections.Generic {
                 Object System.Collections.IEnumerator.Current {
                     get {                      
                         if( index == 0 || (index == dictionary.count + 1)) {
-                             ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                             ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                         }                        
                         
                         return currentKey;
@@ -991,7 +991,7 @@ namespace System.Collections.Generic {
                 
                 void System.Collections.IEnumerator.Reset() {
                     if (version != dictionary.version) {
-                        ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);                        
+                        ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();                        
                     }
 
                     index = 0;                    
@@ -1142,7 +1142,7 @@ namespace System.Collections.Generic {
 
                 public bool MoveNext() {                    
                     if (version != dictionary.version) {
-                        ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                        ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                     }
                     
                     while ((uint)index < (uint)dictionary.count) {
@@ -1167,7 +1167,7 @@ namespace System.Collections.Generic {
                 Object System.Collections.IEnumerator.Current {
                     get {                      
                         if( index == 0 || (index == dictionary.count + 1)) {
-                             ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);                        
+                             ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();                        
                         }                        
                         
                         return currentValue;
@@ -1176,7 +1176,7 @@ namespace System.Collections.Generic {
                 
                 void System.Collections.IEnumerator.Reset() {
                     if (version != dictionary.version) {
-                        ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                        ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                     }
                     index = 0;                    
                     currentValue = default(TValue);
index 750a9a4..3ce663c 100644 (file)
@@ -552,7 +552,7 @@ namespace System.Collections.Generic {
             }
 
             if (version != _version && BinaryCompatibility.TargetsAtLeast_Desktop_V4_5)
-                ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
         }
 
         // Returns an enumerator for this list with the given
@@ -1065,7 +1065,7 @@ namespace System.Collections.Generic {
             private bool MoveNextRare()
             {                
                 if (version != list._version) {
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                 }
 
                 index = list._size + 1;
@@ -1082,7 +1082,7 @@ namespace System.Collections.Generic {
             Object System.Collections.IEnumerator.Current {
                 get {
                     if( index == 0 || index == list._size + 1) {
-                         ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);
+                         ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen();
                     }
                     return Current;
                 }
@@ -1090,7 +1090,7 @@ namespace System.Collections.Generic {
     
             void System.Collections.IEnumerator.Reset() {
                 if (version != list._version) {
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                 }
                 
                 index = 0;
index f1b799a..061a732 100644 (file)
@@ -123,10 +123,10 @@ namespace System.Runtime.InteropServices.WindowsRuntime
             {
                 // The enumerator has not been advanced to the first element yet.
                 if (!m_isInitialized)
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
                 // The enumerator has reached the end of the collection
                 if (!m_hadCurrent)
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                 return m_current;
             }
         }
@@ -137,10 +137,10 @@ namespace System.Runtime.InteropServices.WindowsRuntime
             {
                 // The enumerator has not been advanced to the first element yet.
                 if (!m_isInitialized)
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumNotStarted();
                 // The enumerator has reached the end of the collection
                 if (!m_hadCurrent)
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumEnded();
                 return m_current;
             }
         }
@@ -187,7 +187,7 @@ namespace System.Runtime.InteropServices.WindowsRuntime
                 // Translate E_CHANGED_STATE into an InvalidOperationException for an updated enumeration
                 if (Marshal.GetHRForException(e) == __HResults.E_CHANGED_STATE)
                 {
-                    ThrowHelper.ThrowInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+                    ThrowHelper.ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion();
                 }
                 else
                 {
index ec0a40f..eacf9b5 100644 (file)
@@ -106,7 +106,7 @@ namespace System {
         }
 
         internal static void ThrowInvalidOperationException(ExceptionResource resource) {
-            throw new InvalidOperationException(GetResourceString(resource));
+            throw GetInvalidOperationException(resource);
         }
 
         internal static void ThrowInvalidOperationException(ExceptionResource resource, Exception e) {
@@ -150,6 +150,27 @@ namespace System {
         }
 
 
+        internal static void ThrowInvalidOperationException_InvalidOperation_EnumNotStarted() {
+            throw GetInvalidOperationException(ExceptionResource.InvalidOperation_EnumNotStarted);
+        }
+
+        internal static void ThrowInvalidOperationException_InvalidOperation_EnumEnded() {
+            throw GetInvalidOperationException(ExceptionResource.InvalidOperation_EnumEnded);
+        }
+
+        internal static void ThrowInvalidOperationException_InvalidOperation_EnumFailedVersion() {
+            throw GetInvalidOperationException(ExceptionResource.InvalidOperation_EnumFailedVersion);
+        }
+
+        internal static void ThrowInvalidOperationException_InvalidOperation_EnumOpCantHappen() {
+            throw GetInvalidOperationException(ExceptionResource.InvalidOperation_EnumOpCantHappen);
+        }
+
+
+        private static InvalidOperationException GetInvalidOperationException(ExceptionResource resource) {
+            return new InvalidOperationException(GetResourceString(resource));
+        }
+
         private static ArgumentException GetWrongKeyTypeArgumentException(object key, Type targetType) {
             return new ArgumentException(Environment.GetResourceString("Arg_WrongType", key, targetType), "key");
         }