Imported Upstream version 5.16.0.100

Former-commit-id: 38faa55fb9669e35e7d8448b15c25dc447f25767
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-08-07 15:19:03 +00:00
parent 0a9828183b
commit 7d7f676260
4419 changed files with 170950 additions and 90273 deletions

View File

@@ -531,6 +531,9 @@ namespace System.Reflection {
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern static Assembly LoadFrom (String assemblyFile, bool refonly);
[MethodImplAttribute (MethodImplOptions.InternalCall)]
private extern static Assembly LoadFile_internal (String assemblyFile);
public static Assembly LoadFrom (String assemblyFile)
{
return LoadFrom (assemblyFile, false);
@@ -575,8 +578,11 @@ namespace System.Reflection {
throw new ArgumentNullException ("path");
if (path == String.Empty)
throw new ArgumentException ("Path can't be empty", "path");
// FIXME: Make this do the right thing
return LoadFrom (path, securityEvidence);
Assembly a = LoadFile_internal (path);
if (a != null && securityEvidence != null) {
throw new NotImplementedException ();
}
return a;
}
public static Assembly LoadFile (String path)

View File

@@ -63,23 +63,7 @@ namespace System.Reflection
protected ParameterInfo () {
}
public override string ToString() {
Type elementType = ClassImpl;
while (elementType.HasElementType) {
elementType = elementType.GetElementType();
}
bool useShort = elementType.IsPrimitive || ClassImpl == typeof(void)
|| ClassImpl.Namespace == MemberImpl.DeclaringType.Namespace;
string result = useShort
? ClassImpl.Name
: ClassImpl.FullName;
// MS.NET seems to skip this check and produce an extra space for return types
if (!IsRetval) {
result += ' ';
result += NameImpl;
}
return result;
}
public override string ToString() => ClassImpl.FormatTypeName() + " " + Name;
internal static void FormatParameters (StringBuilder sb, ParameterInfo[] p, CallingConventions callingConvention, bool serialization)
{