Imported Upstream version 4.2.0.179

Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent 183bba2c9a
commit 6992685b86
7507 changed files with 90259 additions and 657307 deletions

View File

@ -653,6 +653,21 @@ namespace System
return CreateInstance (elementType, length);
}
internal static Array UnsafeCreateInstance(Type elementType, int[] lengths, int[] lowerBounds)
{
return CreateInstance(elementType, lengths, lowerBounds);
}
internal static Array UnsafeCreateInstance (Type elementType, int length1, int length2)
{
return CreateInstance (elementType, length1, length2);
}
internal static Array UnsafeCreateInstance (Type elementType, params int[] lengths)
{
return CreateInstance(elementType, lengths);
}
public static Array CreateInstance (Type elementType, int length)
{
int[] lengths = {length};
@ -686,8 +701,8 @@ namespace System
int[] bounds = null;
elementType = elementType.UnderlyingSystemType;
if (!elementType.IsSystemType)
elementType = elementType.UnderlyingSystemType as RuntimeType;
if (elementType == null)
throw new ArgumentException ("Type must be a type provided by the runtime.", "elementType");
if (elementType.Equals (typeof (void)))
throw new NotSupportedException ("Array type can not be void");
@ -710,8 +725,8 @@ namespace System
if (lowerBounds == null)
throw new ArgumentNullException ("lowerBounds");
elementType = elementType.UnderlyingSystemType;
if (!elementType.IsSystemType)
elementType = elementType.UnderlyingSystemType as RuntimeType;
if (elementType == null)
throw new ArgumentException ("Type must be a type provided by the runtime.", "elementType");
if (elementType.Equals (typeof (void)))
throw new NotSupportedException ("Array type can not be void");
@ -3030,7 +3045,7 @@ namespace System
if (count < 0 || startIndex < array.GetLowerBound (0) || startIndex - 1 > array.GetUpperBound (0) - count)
throw new ArgumentOutOfRangeException ();
return EqualityComparer<T>.Default.IndexOf (array, value, startIndex, startIndex + count);
return EqualityComparer<T>.Default.IndexOf (array, value, startIndex, count);
}
public static int LastIndexOf<T> (T [] array, T value)