Imported Upstream version 6.4.0.137

Former-commit-id: 943baa9f16a098c33e129777827f3a9d20da00d6
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-07-26 19:53:28 +00:00
parent e9207cf623
commit ef583813eb
2712 changed files with 74169 additions and 40587 deletions

View File

@@ -31,10 +31,8 @@ namespace Mono.Cecil {
ReadingMode reading_mode;
internal IAssemblyResolver assembly_resolver;
internal IMetadataResolver metadata_resolver;
#if !READ_ONLY
internal IMetadataImporterProvider metadata_importer_provider;
internal IReflectionImporterProvider reflection_importer_provider;
#endif
Stream symbol_stream;
ISymbolReaderProvider symbol_reader_provider;
bool read_symbols;
@@ -63,7 +61,6 @@ namespace Mono.Cecil {
set { metadata_resolver = value; }
}
#if !READ_ONLY
public IMetadataImporterProvider MetadataImporterProvider {
get { return metadata_importer_provider; }
set { metadata_importer_provider = value; }
@@ -73,7 +70,6 @@ namespace Mono.Cecil {
get { return reflection_importer_provider; }
set { reflection_importer_provider = value; }
}
#endif
public Stream SymbolStream {
get { return symbol_stream; }
@@ -117,8 +113,6 @@ namespace Mono.Cecil {
}
}
#if !READ_ONLY
public sealed class ModuleParameters {
ModuleKind kind;
@@ -127,10 +121,8 @@ namespace Mono.Cecil {
TargetArchitecture architecture;
IAssemblyResolver assembly_resolver;
IMetadataResolver metadata_resolver;
#if !READ_ONLY
IMetadataImporterProvider metadata_importer_provider;
IReflectionImporterProvider reflection_importer_provider;
#endif
public ModuleKind Kind {
get { return kind; }
@@ -162,7 +154,6 @@ namespace Mono.Cecil {
set { metadata_resolver = value; }
}
#if !READ_ONLY
public IMetadataImporterProvider MetadataImporterProvider {
get { return metadata_importer_provider; }
set { metadata_importer_provider = value; }
@@ -172,7 +163,6 @@ namespace Mono.Cecil {
get { return reflection_importer_provider; }
set { reflection_importer_provider = value; }
}
#endif
public ModuleParameters ()
{
@@ -183,25 +173,7 @@ namespace Mono.Cecil {
static TargetRuntime GetCurrentRuntime ()
{
#if !NET_CORE
return typeof (object).Assembly.ImageRuntimeVersion.ParseRuntime ();
#else
var corlib_name = AssemblyNameReference.Parse (typeof (object).Assembly ().FullName);
var corlib_version = corlib_name.Version;
switch (corlib_version.Major) {
case 1:
return corlib_version.Minor == 0
? TargetRuntime.Net_1_0
: TargetRuntime.Net_1_1;
case 2:
return TargetRuntime.Net_2_0;
case 4:
return TargetRuntime.Net_4_0;
default:
throw new NotSupportedException ();
}
#endif
}
}
@@ -227,9 +199,7 @@ namespace Mono.Cecil {
Stream symbol_stream;
ISymbolWriterProvider symbol_writer_provider;
bool write_symbols;
#if !NET_CORE
SR.StrongNameKeyPair key_pair;
#endif
public uint? Timestamp {
get { return timestamp; }
@@ -251,15 +221,13 @@ namespace Mono.Cecil {
set { write_symbols = value; }
}
#if !NET_CORE
public SR.StrongNameKeyPair StrongNameKeyPair {
get { return key_pair; }
set { key_pair = value; }
}
#endif
}
#endif
public bool DeterministicMvid { get; set; }
}
public sealed class ModuleDefinition : ModuleReference, ICustomAttributeProvider, ICustomDebugInformationProvider, IDisposable {
@@ -293,11 +261,10 @@ namespace Mono.Cecil {
internal AssemblyDefinition assembly;
MethodDefinition entry_point;
#if !READ_ONLY
internal IReflectionImporter reflection_importer;
internal IMetadataImporter metadata_importer;
ICustomMetadataWriter custom_writer;
#endif
Collection<CustomAttribute> custom_attributes;
Collection<AssemblyNameReference> references;
Collection<ModuleReference> modules;
@@ -307,9 +274,7 @@ namespace Mono.Cecil {
internal Collection<CustomDebugInformation> custom_infos;
#if !READ_ONLY
internal MetadataBuilder metadata_builder;
#endif
public bool IsMain {
get { return kind != ModuleKind.NetModule; }
@@ -399,7 +364,6 @@ namespace Mono.Cecil {
get { return assembly; }
}
#if !READ_ONLY
internal IReflectionImporter ReflectionImporter {
get {
if (reflection_importer == null)
@@ -429,7 +393,6 @@ namespace Mono.Cecil {
get { return custom_writer; }
set { custom_writer = value; }
}
#endif
public IAssemblyResolver AssemblyResolver {
get {
@@ -783,8 +746,6 @@ namespace Mono.Cecil {
return MetadataResolver.Resolve (type);
}
#if !READ_ONLY
static void CheckContext (IGenericParameterProvider context, ModuleDefinition module)
{
if (context == null)
@@ -956,8 +917,6 @@ namespace Mono.Cecil {
return MetadataImporter.ImportReference (method, context);
}
#endif
public IMetadataTokenProvider LookupToken (int token)
{
return LookupToken (new MetadataToken ((uint) token));
@@ -1029,8 +988,6 @@ namespace Mono.Cecil {
return Image.DebugHeader ?? new ImageDebugHeader ();
}
#if !READ_ONLY
public static ModuleDefinition CreateModule (string name, ModuleKind kind)
{
return CreateModule (name, new ModuleParameters { Kind = kind });
@@ -1058,12 +1015,11 @@ namespace Mono.Cecil {
if (parameters.MetadataResolver != null)
module.metadata_resolver = parameters.MetadataResolver;
#if !READ_ONLY
if (parameters.MetadataImporterProvider != null)
module.metadata_importer = parameters.MetadataImporterProvider.GetMetadataImporter (module);
if (parameters.ReflectionImporterProvider != null)
module.reflection_importer = parameters.ReflectionImporterProvider.GetReflectionImporter (module);
#endif
if (parameters.Kind != ModuleKind.NetModule) {
var assembly = new AssemblyDefinition ();
@@ -1085,8 +1041,6 @@ namespace Mono.Cecil {
return new AssemblyNameDefinition (name, Mixin.ZeroVersion);
}
#endif
public void ReadSymbols ()
{
if (string.IsNullOrEmpty (file_name))
@@ -1178,8 +1132,6 @@ namespace Mono.Cecil {
parameters);
}
#if !READ_ONLY
public void Write (string fileName)
{
Write (fileName, new WriterParameters ());
@@ -1218,9 +1170,6 @@ namespace Mono.Cecil {
ModuleWriter.WriteModule (this, Disposable.NotOwned (stream), parameters);
}
#endif
}
static partial class Mixin {
@@ -1335,16 +1284,6 @@ namespace Mono.Cecil {
return Path.GetFullPath (file_stream.Name);
}
#if !NET_4_0
public static void CopyTo (this Stream self, Stream target)
{
var buffer = new byte [1024 * 8];
int read;
while ((read = self.Read (buffer, 0, buffer.Length)) > 0)
target.Write (buffer, 0, read);
}
#endif
public static TargetRuntime ParseRuntime (this string self)
{
if (string.IsNullOrEmpty (self))