Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@ -418,13 +418,11 @@ namespace Mono.Cecil {
public IAssemblyResolver AssemblyResolver {
get {
#if !NET_CORE
if (assembly_resolver.value == null) {
lock (module_lock) {
assembly_resolver = Disposable.Owned (new DefaultAssemblyResolver () as IAssemblyResolver);
}
}
#endif
return assembly_resolver.value;
}
@ -754,28 +752,16 @@ namespace Mono.Cecil {
internal FieldDefinition Resolve (FieldReference field)
{
#if NET_CORE
if (MetadataResolver == null)
throw new NotSupportedException ();
#endif
return MetadataResolver.Resolve (field);
}
internal MethodDefinition Resolve (MethodReference method)
{
#if NET_CORE
if (MetadataResolver == null)
throw new NotSupportedException ();
#endif
return MetadataResolver.Resolve (method);
}
internal TypeDefinition Resolve (TypeReference type)
{
#if NET_CORE
if (MetadataResolver == null)
throw new NotSupportedException ();
#endif
return MetadataResolver.Resolve (type);
}
@ -970,6 +956,19 @@ namespace Mono.Cecil {
get { return module_lock; }
}
internal void Read<TItem> (TItem item, Action<TItem, MetadataReader> read)
{
lock (module_lock) {
var position = reader.position;
var context = reader.context;
read (item, reader);
reader.position = position;
reader.context = context;
}
}
internal TRet Read<TItem, TRet> (TItem item, Func<TItem, MetadataReader, TRet> read)
{
lock (module_lock) {
@ -1321,6 +1320,9 @@ namespace Mono.Cecil {
public static TargetRuntime ParseRuntime (this string self)
{
if (string.IsNullOrEmpty (self))
return TargetRuntime.Net_4_0;
switch (self [1]) {
case '1':
return self [3] == '0'