Imported Upstream version 5.20.0.180

Former-commit-id: ff953ca879339fe1e1211f7220f563e1342e66cb
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-02-04 20:11:37 +00:00
parent 0e2d47d1c8
commit 0510252385
3360 changed files with 83827 additions and 39243 deletions

View File

@@ -0,0 +1,23 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Runtime.CompilerServices;
namespace System
{
public static partial class BitConverter
{
[Intrinsic]
public static readonly bool IsLittleEndian;
static BitConverter ()
{
unsafe {
ushort i = 0x1234;
byte *b = (byte*)&i;
IsLittleEndian = (*b == 0x34);
}
}
}
}

View File

@@ -229,7 +229,7 @@ namespace System
}
if (!argLengthMatch) {
if (throwOnBindFailure)
throw new ArgumentException ("method argument length mismatch");
throw new TargetParameterCountException ("Parameter count mismatch.");
else
return null;
}

View File

@@ -71,16 +71,15 @@ namespace System
internal static object[] GetPseudoCustomAttributes (ICustomAttributeProvider obj, Type attributeType) {
object[] pseudoAttrs = null;
/* FIXME: Add other types */
if (obj is MonoMethod)
pseudoAttrs = ((MonoMethod)obj).GetPseudoCustomAttributes ();
else if (obj is FieldInfo)
pseudoAttrs = ((FieldInfo)obj).GetPseudoCustomAttributes ();
else if (obj is ParameterInfo)
pseudoAttrs = ((ParameterInfo)obj).GetPseudoCustomAttributes ();
else if (obj is Type)
pseudoAttrs = GetPseudoCustomAttributes (((Type)obj));
if (obj is MonoMethod monoMethod)
pseudoAttrs = monoMethod.GetPseudoCustomAttributes ();
else if (obj is FieldInfo fieldInfo)
pseudoAttrs = fieldInfo.GetPseudoCustomAttributes ();
else if (obj is MonoParameterInfo monoParamInfo)
pseudoAttrs = monoParamInfo.GetPseudoCustomAttributes ();
else if (obj is Type t)
pseudoAttrs = GetPseudoCustomAttributes (t);
if ((attributeType != null) && (pseudoAttrs != null)) {
for (int i = 0; i < pseudoAttrs.Length; ++i)
@@ -461,14 +460,14 @@ namespace System
CustomAttributeData[] pseudoAttrsData = null;
/* FIXME: Add other types */
if (obj is MonoMethod)
pseudoAttrsData = ((MonoMethod)obj).GetPseudoCustomAttributesData ();
else if (obj is FieldInfo)
pseudoAttrsData = ((FieldInfo)obj).GetPseudoCustomAttributesData ();
else if (obj is ParameterInfo)
pseudoAttrsData = ((ParameterInfo)obj).GetPseudoCustomAttributesData ();
else if (obj is Type)
pseudoAttrsData = GetPseudoCustomAttributesData (((Type)obj));
if (obj is MonoMethod monoMethod)
pseudoAttrsData = monoMethod.GetPseudoCustomAttributesData ();
else if (obj is FieldInfo fieldInfo)
pseudoAttrsData = fieldInfo.GetPseudoCustomAttributesData ();
else if (obj is MonoParameterInfo monoParamInfo)
pseudoAttrsData = monoParamInfo.GetPseudoCustomAttributesData ();
else if (obj is Type t)
pseudoAttrsData = GetPseudoCustomAttributesData (t);
if ((attributeType != null) && (pseudoAttrsData != null)) {
for (int i = 0; i < pseudoAttrsData.Length; ++i) {