Merge branch 'upstream'
Former-commit-id: dc67e52b5b3603c75f3d8c177821db8411103ac2
This commit is contained in:
commit
17c03b9cb4
@ -1 +1 @@
|
|||||||
a716110cdcded6f6c9a459907b56b1f4d6eeadbe
|
fe749f40b031bea9c317a0fdd447b7463c1fa428
|
@ -1 +1 @@
|
|||||||
1b47868002d8f5b8e4c85708dc50e855d259353b
|
7dc767be05a654f669f5fcb931c96a68bb03fc6c
|
@ -5,9 +5,9 @@
|
|||||||
[assembly:System.Reflection.AssemblyVersionAttribute("0.10.0.0")]
|
[assembly:System.Reflection.AssemblyVersionAttribute("0.10.0.0")]
|
||||||
[assembly:System.CLSCompliantAttribute(false)]
|
[assembly:System.CLSCompliantAttribute(false)]
|
||||||
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
|
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
|
||||||
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright © 2008 - 2015 Jb Evain")]
|
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright © 2008 - 2018 Jb Evain")]
|
||||||
[assembly:System.Reflection.AssemblyFileVersionAttribute("0.10.0.0")]
|
[assembly:System.Reflection.AssemblyFileVersionAttribute("0.10.0.0")]
|
||||||
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("0.10.0.0-beta7")]
|
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("0.10.0.0")]
|
||||||
[assembly:System.Reflection.AssemblyProductAttribute("Mono.Cecil")]
|
[assembly:System.Reflection.AssemblyProductAttribute("Mono.Cecil")]
|
||||||
[assembly:System.Reflection.AssemblyTitleAttribute("Mono.Cecil.Mdb")]
|
[assembly:System.Reflection.AssemblyTitleAttribute("Mono.Cecil.Mdb")]
|
||||||
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
|
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
|
||||||
|
@ -1 +1 @@
|
|||||||
ab7d67e411350069bbfbb253ebf85aaea01ddab9
|
8d89b5ff7f8c0d7a260c7d6ec5d1b9baf4b22fd2
|
51
external/cecil/Mono.Cecil.Cil/Document.cs
vendored
51
external/cecil/Mono.Cecil.Cil/Document.cs
vendored
@ -49,12 +49,13 @@ namespace Mono.Cecil.Cil {
|
|||||||
|
|
||||||
string url;
|
string url;
|
||||||
|
|
||||||
byte type;
|
Guid type;
|
||||||
byte hash_algorithm;
|
Guid hash_algorithm;
|
||||||
byte language;
|
Guid language;
|
||||||
byte language_vendor;
|
Guid language_vendor;
|
||||||
|
|
||||||
byte [] hash;
|
byte [] hash;
|
||||||
|
byte [] embedded_source;
|
||||||
|
|
||||||
public string Url {
|
public string Url {
|
||||||
get { return url; }
|
get { return url; }
|
||||||
@ -62,23 +63,43 @@ namespace Mono.Cecil.Cil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public DocumentType Type {
|
public DocumentType Type {
|
||||||
get { return (DocumentType) type; }
|
get { return type.ToType (); }
|
||||||
set { type = (byte) value; }
|
set { type = value.ToGuid (); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Guid TypeGuid {
|
||||||
|
get { return type; }
|
||||||
|
set { type = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public DocumentHashAlgorithm HashAlgorithm {
|
public DocumentHashAlgorithm HashAlgorithm {
|
||||||
get { return (DocumentHashAlgorithm) hash_algorithm; }
|
get { return hash_algorithm.ToHashAlgorithm (); }
|
||||||
set { hash_algorithm = (byte) value; }
|
set { hash_algorithm = value.ToGuid (); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Guid HashAlgorithmGuid {
|
||||||
|
get { return hash_algorithm; }
|
||||||
|
set { hash_algorithm = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public DocumentLanguage Language {
|
public DocumentLanguage Language {
|
||||||
get { return (DocumentLanguage) language; }
|
get { return language.ToLanguage (); }
|
||||||
set { language = (byte) value; }
|
set { language = value.ToGuid (); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Guid LanguageGuid {
|
||||||
|
get { return language; }
|
||||||
|
set { language = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public DocumentLanguageVendor LanguageVendor {
|
public DocumentLanguageVendor LanguageVendor {
|
||||||
get { return (DocumentLanguageVendor) language_vendor; }
|
get { return language_vendor.ToVendor (); }
|
||||||
set { language_vendor = (byte) value; }
|
set { language_vendor = value.ToGuid (); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Guid LanguageVendorGuid {
|
||||||
|
get { return language_vendor; }
|
||||||
|
set { language_vendor = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte [] Hash {
|
public byte [] Hash {
|
||||||
@ -86,10 +107,16 @@ namespace Mono.Cecil.Cil {
|
|||||||
set { hash = value; }
|
set { hash = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public byte[] EmbeddedSource {
|
||||||
|
get { return embedded_source; }
|
||||||
|
set { embedded_source = value; }
|
||||||
|
}
|
||||||
|
|
||||||
public Document (string url)
|
public Document (string url)
|
||||||
{
|
{
|
||||||
this.url = url;
|
this.url = url;
|
||||||
this.hash = Empty<byte>.Array;
|
this.hash = Empty<byte>.Array;
|
||||||
|
this.embedded_source = Empty<byte>.Array;
|
||||||
this.token = new MetadataToken (TokenType.Document);
|
this.token = new MetadataToken (TokenType.Document);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
40
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
40
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
@ -761,6 +761,44 @@ namespace Mono.Cecil.Cil {
|
|||||||
ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream);
|
ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !NET_CORE
|
||||||
|
[Serializable]
|
||||||
|
#endif
|
||||||
|
public sealed class SymbolsNotFoundException : FileNotFoundException {
|
||||||
|
|
||||||
|
public SymbolsNotFoundException (string message) : base (message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !NET_CORE
|
||||||
|
SymbolsNotFoundException (
|
||||||
|
System.Runtime.Serialization.SerializationInfo info,
|
||||||
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
|
: base (info, context)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !NET_CORE
|
||||||
|
[Serializable]
|
||||||
|
#endif
|
||||||
|
public sealed class SymbolsNotMatchingException : InvalidOperationException {
|
||||||
|
|
||||||
|
public SymbolsNotMatchingException (string message) : base (message)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !NET_CORE
|
||||||
|
SymbolsNotMatchingException (
|
||||||
|
System.Runtime.Serialization.SerializationInfo info,
|
||||||
|
System.Runtime.Serialization.StreamingContext context)
|
||||||
|
: base (info, context)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
public class DefaultSymbolReaderProvider : ISymbolReaderProvider {
|
public class DefaultSymbolReaderProvider : ISymbolReaderProvider {
|
||||||
|
|
||||||
readonly bool throw_if_no_symbol;
|
readonly bool throw_if_no_symbol;
|
||||||
@ -810,7 +848,7 @@ namespace Mono.Cecil.Cil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (throw_if_no_symbol)
|
if (throw_if_no_symbol)
|
||||||
throw new FileNotFoundException (string.Format ("No symbol found for file: {0}", fileName));
|
throw new SymbolsNotFoundException (string.Format ("No symbol found for file: {0}", fileName));
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
2
external/cecil/Mono.Cecil.nuspec
vendored
2
external/cecil/Mono.Cecil.nuspec
vendored
@ -2,7 +2,7 @@
|
|||||||
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||||
<id>Mono.Cecil</id>
|
<id>Mono.Cecil</id>
|
||||||
<version>0.10.0.0-beta7</version>
|
<version>0.10.0.0</version>
|
||||||
<title>Mono.Cecil</title>
|
<title>Mono.Cecil</title>
|
||||||
<authors>Jb Evain</authors>
|
<authors>Jb Evain</authors>
|
||||||
<owners>Jb Evain</owners>
|
<owners>Jb Evain</owners>
|
||||||
|
22
external/cecil/Mono.Cecil/AssemblyReader.cs
vendored
22
external/cecil/Mono.Cecil/AssemblyReader.cs
vendored
@ -105,7 +105,7 @@ namespace Mono.Cecil {
|
|||||||
: symbol_reader_provider.GetSymbolReader (module, module.FileName);
|
: symbol_reader_provider.GetSymbolReader (module, module.FileName);
|
||||||
|
|
||||||
if (reader != null)
|
if (reader != null)
|
||||||
module.ReadSymbols (reader);
|
module.ReadSymbols (reader, parameters.ThrowIfSymbolsAreNotMatching);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (module.Image.HasDebugTables ())
|
if (module.Image.HasDebugTables ())
|
||||||
@ -834,6 +834,12 @@ namespace Mono.Cecil {
|
|||||||
|
|
||||||
types [i] = ReadType (i + 1);
|
types [i] = ReadType (i + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (module.IsWindowsMetadata ()) {
|
||||||
|
for (uint i = 0; i < length; i++) {
|
||||||
|
WindowsRuntimeProjections.Project (types [i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool IsNested (TypeAttributes attributes)
|
static bool IsNested (TypeAttributes attributes)
|
||||||
@ -945,9 +951,6 @@ namespace Mono.Cecil {
|
|||||||
if (IsNested (attributes))
|
if (IsNested (attributes))
|
||||||
type.DeclaringType = GetNestedTypeDeclaringType (type);
|
type.DeclaringType = GetNestedTypeDeclaringType (type);
|
||||||
|
|
||||||
if (module.IsWindowsMetadata ())
|
|
||||||
WindowsRuntimeProjections.Project (type);
|
|
||||||
|
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1035,7 +1038,12 @@ namespace Mono.Cecil {
|
|||||||
if (type != null)
|
if (type != null)
|
||||||
return type;
|
return type;
|
||||||
|
|
||||||
return ReadTypeDefinition (rid);
|
type = ReadTypeDefinition (rid);
|
||||||
|
|
||||||
|
if (module.IsWindowsMetadata ())
|
||||||
|
WindowsRuntimeProjections.Project (type);
|
||||||
|
|
||||||
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
TypeDefinition ReadTypeDefinition (uint rid)
|
TypeDefinition ReadTypeDefinition (uint rid)
|
||||||
@ -2812,9 +2820,9 @@ namespace Mono.Cecil {
|
|||||||
var name = signature.ReadDocumentName ();
|
var name = signature.ReadDocumentName ();
|
||||||
|
|
||||||
documents [i - 1] = new Document (name) {
|
documents [i - 1] = new Document (name) {
|
||||||
HashAlgorithm = hash_algorithm.ToHashAlgorithm (),
|
HashAlgorithmGuid = hash_algorithm,
|
||||||
Hash = hash,
|
Hash = hash,
|
||||||
Language = language.ToLanguage (),
|
LanguageGuid = language,
|
||||||
token = new MetadataToken (TokenType.Document, i),
|
token = new MetadataToken (TokenType.Document, i),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -282,6 +282,12 @@ namespace Mono.Cecil {
|
|||||||
if (File.Exists (file))
|
if (File.Exists (file))
|
||||||
return GetAssembly (file, parameters);
|
return GetAssembly (file, parameters);
|
||||||
|
|
||||||
|
if (on_mono && Directory.Exists (path + "-api")) {
|
||||||
|
file = Path.Combine (path + "-api", "mscorlib.dll");
|
||||||
|
if (File.Exists (file))
|
||||||
|
return GetAssembly (file, parameters);
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
18
external/cecil/Mono.Cecil/Import.cs
vendored
18
external/cecil/Mono.Cecil/Import.cs
vendored
@ -177,7 +177,7 @@ namespace Mono.Cecil {
|
|||||||
string.Empty,
|
string.Empty,
|
||||||
type.Name,
|
type.Name,
|
||||||
module,
|
module,
|
||||||
ImportScope (type.Assembly ()),
|
ImportScope (type),
|
||||||
type.IsValueType ());
|
type.IsValueType ());
|
||||||
|
|
||||||
reference.etype = ImportElementType (type);
|
reference.etype = ImportElementType (type);
|
||||||
@ -193,6 +193,11 @@ namespace Mono.Cecil {
|
|||||||
return reference;
|
return reference;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected virtual IMetadataScope ImportScope (Type type)
|
||||||
|
{
|
||||||
|
return ImportScope (type.Assembly ());
|
||||||
|
}
|
||||||
|
|
||||||
static bool ImportOpenGenericType (Type type, ImportGenericKind import_kind)
|
static bool ImportOpenGenericType (Type type, ImportGenericKind import_kind)
|
||||||
{
|
{
|
||||||
return type.IsGenericType () && type.IsGenericTypeDefinition () && import_kind == ImportGenericKind.Open;
|
return type.IsGenericType () && type.IsGenericTypeDefinition () && import_kind == ImportGenericKind.Open;
|
||||||
@ -294,7 +299,7 @@ namespace Mono.Cecil {
|
|||||||
return etype;
|
return etype;
|
||||||
}
|
}
|
||||||
|
|
||||||
AssemblyNameReference ImportScope (SR.Assembly assembly)
|
protected AssemblyNameReference ImportScope (SR.Assembly assembly)
|
||||||
{
|
{
|
||||||
return ImportReference (assembly.GetName ());
|
return ImportReference (assembly.GetName ());
|
||||||
}
|
}
|
||||||
@ -504,7 +509,7 @@ namespace Mono.Cecil {
|
|||||||
type.Namespace,
|
type.Namespace,
|
||||||
type.Name,
|
type.Name,
|
||||||
module,
|
module,
|
||||||
ImportScope (type.Scope),
|
ImportScope (type),
|
||||||
type.IsValueType);
|
type.IsValueType);
|
||||||
|
|
||||||
MetadataSystem.TryProcessPrimitiveTypeReference (reference);
|
MetadataSystem.TryProcessPrimitiveTypeReference (reference);
|
||||||
@ -518,7 +523,12 @@ namespace Mono.Cecil {
|
|||||||
return reference;
|
return reference;
|
||||||
}
|
}
|
||||||
|
|
||||||
IMetadataScope ImportScope (IMetadataScope scope)
|
protected virtual IMetadataScope ImportScope (TypeReference type)
|
||||||
|
{
|
||||||
|
return ImportScope (type.Scope);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected IMetadataScope ImportScope (IMetadataScope scope)
|
||||||
{
|
{
|
||||||
switch (scope.MetadataScopeType) {
|
switch (scope.MetadataScopeType) {
|
||||||
case MetadataScopeType.AssemblyNameReference:
|
case MetadataScopeType.AssemblyNameReference:
|
||||||
|
@ -165,6 +165,8 @@ namespace Mono.Cecil {
|
|||||||
// we reset Body to null in ILSpy to save memory; so we need that operation to be thread-safe
|
// we reset Body to null in ILSpy to save memory; so we need that operation to be thread-safe
|
||||||
lock (module.SyncRoot) {
|
lock (module.SyncRoot) {
|
||||||
body = value;
|
body = value;
|
||||||
|
if (value == null)
|
||||||
|
this.debug_info = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
22
external/cecil/Mono.Cecil/ModuleDefinition.cs
vendored
22
external/cecil/Mono.Cecil/ModuleDefinition.cs
vendored
@ -38,6 +38,7 @@ namespace Mono.Cecil {
|
|||||||
Stream symbol_stream;
|
Stream symbol_stream;
|
||||||
ISymbolReaderProvider symbol_reader_provider;
|
ISymbolReaderProvider symbol_reader_provider;
|
||||||
bool read_symbols;
|
bool read_symbols;
|
||||||
|
bool throw_symbols_mismatch;
|
||||||
bool projections;
|
bool projections;
|
||||||
bool in_memory;
|
bool in_memory;
|
||||||
bool read_write;
|
bool read_write;
|
||||||
@ -89,6 +90,11 @@ namespace Mono.Cecil {
|
|||||||
set { read_symbols = value; }
|
set { read_symbols = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ThrowIfSymbolsAreNotMatching {
|
||||||
|
get { return throw_symbols_mismatch; }
|
||||||
|
set { throw_symbols_mismatch = value; }
|
||||||
|
}
|
||||||
|
|
||||||
public bool ReadWrite {
|
public bool ReadWrite {
|
||||||
get { return read_write; }
|
get { return read_write; }
|
||||||
set { read_write = value; }
|
set { read_write = value; }
|
||||||
@ -107,6 +113,7 @@ namespace Mono.Cecil {
|
|||||||
public ReaderParameters (ReadingMode readingMode)
|
public ReaderParameters (ReadingMode readingMode)
|
||||||
{
|
{
|
||||||
this.reading_mode = readingMode;
|
this.reading_mode = readingMode;
|
||||||
|
this.throw_symbols_mismatch = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -691,7 +698,7 @@ namespace Mono.Cecil {
|
|||||||
public TypeReference GetType (string fullName, bool runtimeName)
|
public TypeReference GetType (string fullName, bool runtimeName)
|
||||||
{
|
{
|
||||||
return runtimeName
|
return runtimeName
|
||||||
? TypeParser.ParseType (this, fullName)
|
? TypeParser.ParseType (this, fullName, typeDefinitionOnly: true)
|
||||||
: GetType (fullName);
|
: GetType (fullName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1077,10 +1084,15 @@ namespace Mono.Cecil {
|
|||||||
throw new InvalidOperationException ();
|
throw new InvalidOperationException ();
|
||||||
|
|
||||||
var provider = new DefaultSymbolReaderProvider (throwIfNoSymbol: true);
|
var provider = new DefaultSymbolReaderProvider (throwIfNoSymbol: true);
|
||||||
ReadSymbols (provider.GetSymbolReader (this, file_name));
|
ReadSymbols (provider.GetSymbolReader (this, file_name), throwIfSymbolsAreNotMaching: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReadSymbols (ISymbolReader reader)
|
public void ReadSymbols (ISymbolReader reader)
|
||||||
|
{
|
||||||
|
ReadSymbols(reader, throwIfSymbolsAreNotMaching: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void ReadSymbols (ISymbolReader reader, bool throwIfSymbolsAreNotMaching)
|
||||||
{
|
{
|
||||||
if (reader == null)
|
if (reader == null)
|
||||||
throw new ArgumentNullException ("reader");
|
throw new ArgumentNullException ("reader");
|
||||||
@ -1089,7 +1101,11 @@ namespace Mono.Cecil {
|
|||||||
|
|
||||||
if (!symbol_reader.ProcessDebugHeader (GetDebugHeader ())) {
|
if (!symbol_reader.ProcessDebugHeader (GetDebugHeader ())) {
|
||||||
symbol_reader = null;
|
symbol_reader = null;
|
||||||
throw new InvalidOperationException ();
|
|
||||||
|
if (throwIfSymbolsAreNotMaching)
|
||||||
|
throw new SymbolsNotMatchingException ("Symbols were found but are not matching the assembly");
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (HasImage && ReadingMode == ReadingMode.Immediate) {
|
if (HasImage && ReadingMode == ReadingMode.Immediate) {
|
||||||
|
14
external/cecil/Mono.Cecil/TypeParser.cs
vendored
14
external/cecil/Mono.Cecil/TypeParser.cs
vendored
@ -234,20 +234,24 @@ namespace Mono.Cecil {
|
|||||||
return fullname.Substring (start, position - start);
|
return fullname.Substring (start, position - start);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TypeReference ParseType (ModuleDefinition module, string fullname)
|
public static TypeReference ParseType (ModuleDefinition module, string fullname, bool typeDefinitionOnly = false)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty (fullname))
|
if (string.IsNullOrEmpty (fullname))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
var parser = new TypeParser (fullname);
|
var parser = new TypeParser (fullname);
|
||||||
return GetTypeReference (module, parser.ParseType (true));
|
return GetTypeReference (module, parser.ParseType (true), typeDefinitionOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
static TypeReference GetTypeReference (ModuleDefinition module, Type type_info)
|
static TypeReference GetTypeReference (ModuleDefinition module, Type type_info, bool type_def_only)
|
||||||
{
|
{
|
||||||
TypeReference type;
|
TypeReference type;
|
||||||
if (!TryGetDefinition (module, type_info, out type))
|
if (!TryGetDefinition (module, type_info, out type)) {
|
||||||
|
if (type_def_only)
|
||||||
|
return null;
|
||||||
|
|
||||||
type = CreateReference (type_info, module, GetMetadataScope (module, type_info));
|
type = CreateReference (type_info, module, GetMetadataScope (module, type_info));
|
||||||
|
}
|
||||||
|
|
||||||
return CreateSpecs (type, type_info);
|
return CreateSpecs (type, type_info);
|
||||||
}
|
}
|
||||||
@ -296,7 +300,7 @@ namespace Mono.Cecil {
|
|||||||
var instance_arguments = instance.GenericArguments;
|
var instance_arguments = instance.GenericArguments;
|
||||||
|
|
||||||
for (int i = 0; i < generic_arguments.Length; i++)
|
for (int i = 0; i < generic_arguments.Length; i++)
|
||||||
instance_arguments.Add (GetTypeReference (type.Module, generic_arguments [i]));
|
instance_arguments.Add (GetTypeReference (type.Module, generic_arguments [i], false));
|
||||||
|
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
4
external/cecil/ProjectInfo.cs
vendored
4
external/cecil/ProjectInfo.cs
vendored
@ -11,10 +11,10 @@ using System.Reflection;
|
|||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
[assembly: AssemblyProduct (Consts.AssemblyName)]
|
[assembly: AssemblyProduct (Consts.AssemblyName)]
|
||||||
[assembly: AssemblyCopyright ("Copyright © 2008 - 2015 Jb Evain")]
|
[assembly: AssemblyCopyright ("Copyright © 2008 - 2018 Jb Evain")]
|
||||||
|
|
||||||
[assembly: ComVisible (false)]
|
[assembly: ComVisible (false)]
|
||||||
|
|
||||||
[assembly: AssemblyVersion ("0.10.0.0")]
|
[assembly: AssemblyVersion ("0.10.0.0")]
|
||||||
[assembly: AssemblyFileVersion ("0.10.0.0")]
|
[assembly: AssemblyFileVersion ("0.10.0.0")]
|
||||||
[assembly: AssemblyInformationalVersion ("0.10.0.0-beta7")]
|
[assembly: AssemblyInformationalVersion ("0.10.0.0")]
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
using Mono.Cecil;
|
using Mono.Cecil;
|
||||||
|
using Mono.Cecil.Cil;
|
||||||
|
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
|
||||||
@ -91,15 +92,16 @@ namespace Mono.Cecil.Tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void MismatchedLibraryAndSymbols_DoNotThrow ()
|
public void MismatchedLibraryAndSymbols ()
|
||||||
{
|
{
|
||||||
// SQLite-net.dll (from nuget) shiped with mismatched symbol files, but throwIfNoSymbol did not prevent it from throwing
|
// SQLite-net.dll (from nuget) shiped with mismatched symbol files, but throwIfNoSymbol did not prevent it from throwing
|
||||||
var readerParms = new ReaderParameters {
|
var parameters = new ReaderParameters {
|
||||||
ReadSymbols = true,
|
ReadSymbols = true,
|
||||||
SymbolReaderProvider = new Cil.DefaultSymbolReaderProvider (throwIfNoSymbol: false)
|
SymbolReaderProvider = new DefaultSymbolReaderProvider (throwIfNoSymbol: false),
|
||||||
|
ThrowIfSymbolsAreNotMatching = false,
|
||||||
};
|
};
|
||||||
|
|
||||||
using (var module = GetResourceModule ("SQLite-net.dll", readerParms)) {
|
using (var module = GetResourceModule ("SQLite-net.dll", parameters)) {
|
||||||
Assert.Null (module.SymbolReader);
|
Assert.Null (module.SymbolReader);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,6 +254,15 @@ namespace Mono.Cecil.Tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void GetNonExistentTypeRuntimeName ()
|
||||||
|
{
|
||||||
|
using (var module = GetResourceModule ("libhello.dll")) {
|
||||||
|
var type = module.GetType ("DoesNotExist", runtimeName: true);
|
||||||
|
Assert.IsNull (type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void OpenModuleImmediate ()
|
public void OpenModuleImmediate ()
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,36 @@ namespace Mono.Cecil.Tests {
|
|||||||
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
|
Assert.AreEqual (typeof (PortablePdbReader), module.SymbolReader.GetType ());
|
||||||
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider), verify: !Platform.OnMono);
|
}, symbolReaderProvider: typeof (DefaultSymbolReaderProvider), symbolWriterProvider: typeof (DefaultSymbolWriterProvider), verify: !Platform.OnMono);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void MdbMismatch ()
|
||||||
|
{
|
||||||
|
Assert.Throws<SymbolsNotMatchingException> (() => GetResourceModule ("mdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new MdbReaderProvider () }));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void MdbIgnoreMismatch()
|
||||||
|
{
|
||||||
|
using (var module = GetResourceModule ("mdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new MdbReaderProvider (), ThrowIfSymbolsAreNotMatching = false })) {
|
||||||
|
Assert.IsNull (module.SymbolReader);
|
||||||
|
Assert.IsFalse (module.HasSymbols);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void PortablePdbMismatch ()
|
||||||
|
{
|
||||||
|
Assert.Throws<SymbolsNotMatchingException> (() => GetResourceModule ("pdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new PortablePdbReaderProvider () }));
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void PortablePdbIgnoreMismatch()
|
||||||
|
{
|
||||||
|
using (var module = GetResourceModule ("pdb-mismatch.dll", new ReaderParameters { SymbolReaderProvider = new PortablePdbReaderProvider (), ThrowIfSymbolsAreNotMatching = false })) {
|
||||||
|
Assert.IsNull (module.SymbolReader);
|
||||||
|
Assert.IsFalse (module.HasSymbols);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
BIN
external/cecil/Test/Resources/assemblies/mdb-mismatch.dll.mdb
vendored
Normal file
BIN
external/cecil/Test/Resources/assemblies/mdb-mismatch.dll.mdb
vendored
Normal file
Binary file not shown.
BIN
external/cecil/Test/Resources/assemblies/pdb-mismatch.pdb
vendored
Normal file
BIN
external/cecil/Test/Resources/assemblies/pdb-mismatch.pdb
vendored
Normal file
Binary file not shown.
@ -25,7 +25,7 @@ namespace Mono.Cecil.Mdb {
|
|||||||
Mixin.CheckModule (module);
|
Mixin.CheckModule (module);
|
||||||
Mixin.CheckFileName (fileName);
|
Mixin.CheckFileName (fileName);
|
||||||
|
|
||||||
return new MdbReader (module, MonoSymbolFile.ReadSymbolFile (Mixin.GetMdbFileName (fileName), module.Mvid));
|
return new MdbReader (module, MonoSymbolFile.ReadSymbolFile (Mixin.GetMdbFileName (fileName)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream)
|
public ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream)
|
||||||
@ -33,15 +33,7 @@ namespace Mono.Cecil.Mdb {
|
|||||||
Mixin.CheckModule (module);
|
Mixin.CheckModule (module);
|
||||||
Mixin.CheckStream (symbolStream);
|
Mixin.CheckStream (symbolStream);
|
||||||
|
|
||||||
var file = MonoSymbolFile.ReadSymbolFile (symbolStream);
|
return new MdbReader (module, MonoSymbolFile.ReadSymbolFile (symbolStream));
|
||||||
if (module.Mvid != file.Guid) {
|
|
||||||
var file_stream = symbolStream as FileStream;
|
|
||||||
if (file_stream != null)
|
|
||||||
throw new MonoSymbolFileException ("Symbol file `{0}' does not match assembly", file_stream.Name);
|
|
||||||
|
|
||||||
throw new MonoSymbolFileException ("Symbol file from stream does not match assembly");
|
|
||||||
}
|
|
||||||
return new MdbReader (module, file);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ namespace Mono.Cecil.Pdb {
|
|||||||
target = new ImportTarget (ImportTargetKind.ImportNamespace) { @namespace = value };
|
target = new ImportTarget (ImportTargetKind.ImportNamespace) { @namespace = value };
|
||||||
break;
|
break;
|
||||||
case 'T': {
|
case 'T': {
|
||||||
var type = module.GetType (value, runtimeName: true);
|
var type = TypeParser.ParseType (module, value);
|
||||||
if (type != null)
|
if (type != null)
|
||||||
target = new ImportTarget (ImportTargetKind.ImportType) { type = type };
|
target = new ImportTarget (ImportTargetKind.ImportType) { type = type };
|
||||||
break;
|
break;
|
||||||
@ -298,7 +298,7 @@ namespace Mono.Cecil.Pdb {
|
|||||||
target = new ImportTarget (ImportTargetKind.DefineNamespaceAlias) { alias = alias_value, @namespace = alias_target_value };
|
target = new ImportTarget (ImportTargetKind.DefineNamespaceAlias) { alias = alias_value, @namespace = alias_target_value };
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
var type = module.GetType (alias_target_value, runtimeName: true);
|
var type = TypeParser.ParseType (module, alias_target_value);
|
||||||
if (type != null)
|
if (type != null)
|
||||||
target = new ImportTarget (ImportTargetKind.DefineTypeAlias) { alias = alias_value, type = type };
|
target = new ImportTarget (ImportTargetKind.DefineTypeAlias) { alias = alias_value, type = type };
|
||||||
break;
|
break;
|
||||||
|
@ -253,9 +253,9 @@ namespace Mono.Cecil.Pdb {
|
|||||||
|
|
||||||
doc_writer = writer.DefineDocument (
|
doc_writer = writer.DefineDocument (
|
||||||
document.Url,
|
document.Url,
|
||||||
document.Language.ToGuid (),
|
document.LanguageGuid,
|
||||||
document.LanguageVendor.ToGuid (),
|
document.LanguageVendorGuid,
|
||||||
document.Type.ToGuid ());
|
document.TypeGuid);
|
||||||
|
|
||||||
documents [document.Url] = doc_writer;
|
documents [document.Url] = doc_writer;
|
||||||
return doc_writer;
|
return doc_writer;
|
||||||
|
@ -34,7 +34,7 @@ static class Consts
|
|||||||
// Use these assembly version constants to make code more maintainable.
|
// Use these assembly version constants to make code more maintainable.
|
||||||
//
|
//
|
||||||
|
|
||||||
public const string MonoVersion = "5.14.0.103";
|
public const string MonoVersion = "5.14.0.106";
|
||||||
public const string MonoCompany = "Mono development team";
|
public const string MonoCompany = "Mono development team";
|
||||||
public const string MonoProduct = "Mono Common Language Infrastructure";
|
public const string MonoProduct = "Mono Common Language Infrastructure";
|
||||||
public const string MonoCopyright = "(c) Various Mono authors";
|
public const string MonoCopyright = "(c) Various Mono authors";
|
||||||
|
@ -1 +1 @@
|
|||||||
d7eb5a10aae99a897f8c1b6f49f3df205695cbf3
|
3559a3e02c5dc456d54813f73b2fe6f3af0bb4d6
|
@ -1 +1 @@
|
|||||||
1fce0633a2a5188d412fa7bed6596cdbf46eed99
|
129ab913900114a8d0f28d1265f1471ea5ba59eb
|
@ -1 +1 @@
|
|||||||
5df81156024fc164400114fca16e4f834ba26389
|
5e8e1068810ccefe04b97cf9ca597fab19ac0830
|
@ -1 +1 @@
|
|||||||
e394ddb4f7e90f8160b816ceb2f3ddfd6ec43b20
|
da08516dbc3be151cf2f5dd377974c12381c4068
|
@ -1 +1 @@
|
|||||||
c9706b15a376f8937072f1dfbd168d1058896a6e
|
558a00057cc298b354703a620439f584959700b1
|
@ -1 +1 @@
|
|||||||
c34d1c37d97cfc74cfd58b908db37dba0cc12f68
|
39cae281b4318f17089328b276ac239685617229
|
@ -1 +1 @@
|
|||||||
7df9781615674ecdde80b8234d890a4ff3983533
|
e033707f206b6be5a0ece88ee123586b50e7df2b
|
@ -1 +1 @@
|
|||||||
45fc2f719b760217c096d2e896ae9a39a2f6c446
|
83885ee63eb1c49bc8c3668510611bc45a65c00d
|
@ -1 +1 @@
|
|||||||
d7eb5a10aae99a897f8c1b6f49f3df205695cbf3
|
3559a3e02c5dc456d54813f73b2fe6f3af0bb4d6
|
@ -1 +1 @@
|
|||||||
1fce0633a2a5188d412fa7bed6596cdbf46eed99
|
129ab913900114a8d0f28d1265f1471ea5ba59eb
|
@ -1 +1 @@
|
|||||||
5df81156024fc164400114fca16e4f834ba26389
|
5e8e1068810ccefe04b97cf9ca597fab19ac0830
|
@ -1 +1 @@
|
|||||||
e394ddb4f7e90f8160b816ceb2f3ddfd6ec43b20
|
da08516dbc3be151cf2f5dd377974c12381c4068
|
@ -1 +1 @@
|
|||||||
c9706b15a376f8937072f1dfbd168d1058896a6e
|
558a00057cc298b354703a620439f584959700b1
|
@ -1 +1 @@
|
|||||||
c34d1c37d97cfc74cfd58b908db37dba0cc12f68
|
39cae281b4318f17089328b276ac239685617229
|
@ -1 +1 @@
|
|||||||
7df9781615674ecdde80b8234d890a4ff3983533
|
e033707f206b6be5a0ece88ee123586b50e7df2b
|
@ -1 +1 @@
|
|||||||
45fc2f719b760217c096d2e896ae9a39a2f6c446
|
83885ee63eb1c49bc8c3668510611bc45a65c00d
|
@ -1 +1 @@
|
|||||||
d7eb5a10aae99a897f8c1b6f49f3df205695cbf3
|
3559a3e02c5dc456d54813f73b2fe6f3af0bb4d6
|
@ -1 +1 @@
|
|||||||
1fce0633a2a5188d412fa7bed6596cdbf46eed99
|
129ab913900114a8d0f28d1265f1471ea5ba59eb
|
@ -1 +1 @@
|
|||||||
5df81156024fc164400114fca16e4f834ba26389
|
5e8e1068810ccefe04b97cf9ca597fab19ac0830
|
@ -1 +1 @@
|
|||||||
e394ddb4f7e90f8160b816ceb2f3ddfd6ec43b20
|
da08516dbc3be151cf2f5dd377974c12381c4068
|
@ -1 +1 @@
|
|||||||
c9706b15a376f8937072f1dfbd168d1058896a6e
|
558a00057cc298b354703a620439f584959700b1
|
@ -1 +1 @@
|
|||||||
c34d1c37d97cfc74cfd58b908db37dba0cc12f68
|
39cae281b4318f17089328b276ac239685617229
|
@ -1 +1 @@
|
|||||||
7df9781615674ecdde80b8234d890a4ff3983533
|
e033707f206b6be5a0ece88ee123586b50e7df2b
|
@ -1 +1 @@
|
|||||||
45fc2f719b760217c096d2e896ae9a39a2f6c446
|
83885ee63eb1c49bc8c3668510611bc45a65c00d
|
@ -1 +1 @@
|
|||||||
#define FULL_VERSION "explicit/8c55e41"
|
#define FULL_VERSION "explicit/820bff2"
|
||||||
|
@ -1 +1 @@
|
|||||||
fcdfbcba9993acf7ced4f9ad09252a3629d03d3a
|
a09a131b494cec226ff30b01c801a917449833a0
|
@ -1676,3 +1676,24 @@ mono_threads_join_unlock (void)
|
|||||||
mono_os_mutex_unlock (&join_mutex);
|
mono_os_mutex_unlock (&join_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
mono_thread_info_set_tools_data (void *data)
|
||||||
|
{
|
||||||
|
MonoThreadInfo *info = mono_thread_info_current_unchecked ();
|
||||||
|
if (!info)
|
||||||
|
return FALSE;
|
||||||
|
if (info->tools_data)
|
||||||
|
return FALSE;
|
||||||
|
info->tools_data = data;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void*
|
||||||
|
mono_thread_info_get_tools_data (void)
|
||||||
|
{
|
||||||
|
MonoThreadInfo *info = mono_thread_info_current_unchecked ();
|
||||||
|
|
||||||
|
return info ? info->tools_data : NULL;
|
||||||
|
}
|
||||||
|
@ -260,6 +260,12 @@ typedef struct {
|
|||||||
gint32 thread_wait_info;
|
gint32 thread_wait_info;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is where we store tools tls data so it follows our lifecycle and doesn't depends on posix tls cleanup ordering
|
||||||
|
*
|
||||||
|
* TODO support multiple values by multiple tools
|
||||||
|
*/
|
||||||
|
void *tools_data;
|
||||||
} MonoThreadInfo;
|
} MonoThreadInfo;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -374,7 +380,7 @@ mono_threads_get_runtime_callbacks (void);
|
|||||||
MONO_API int
|
MONO_API int
|
||||||
mono_thread_info_register_small_id (void);
|
mono_thread_info_register_small_id (void);
|
||||||
|
|
||||||
THREAD_INFO_TYPE *
|
MONO_API THREAD_INFO_TYPE *
|
||||||
mono_thread_info_attach (void);
|
mono_thread_info_attach (void);
|
||||||
|
|
||||||
MONO_API void
|
MONO_API void
|
||||||
@ -395,6 +401,13 @@ mono_thread_info_is_exiting (void);
|
|||||||
THREAD_INFO_TYPE *
|
THREAD_INFO_TYPE *
|
||||||
mono_thread_info_current (void);
|
mono_thread_info_current (void);
|
||||||
|
|
||||||
|
MONO_API gboolean
|
||||||
|
mono_thread_info_set_tools_data (void *data);
|
||||||
|
|
||||||
|
MONO_API void*
|
||||||
|
mono_thread_info_get_tools_data (void);
|
||||||
|
|
||||||
|
|
||||||
THREAD_INFO_TYPE*
|
THREAD_INFO_TYPE*
|
||||||
mono_thread_info_current_unchecked (void);
|
mono_thread_info_current_unchecked (void);
|
||||||
|
|
||||||
|
BIN
po/mcs/de.gmo
BIN
po/mcs/de.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
7724023d7bbd0c27a29e20cfd192b6f0c87f8e46
|
993e91d118061cb6c998fd8fd93e0c1f56512878
|
BIN
po/mcs/es.gmo
BIN
po/mcs/es.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
4541123f4a3b60c078f9453b0aee658b5d9f84d8
|
5a0116507c6e2aca6f921a00369b6f9cfab68606
|
BIN
po/mcs/ja.gmo
BIN
po/mcs/ja.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
69665d4daa34511c8358f5081b675ed8491a37ed
|
a336321819d17f5fc46f82bff2ebbe6a0a2f139a
|
@ -6,9 +6,9 @@
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mono 5.14.0.103\n"
|
"Project-Id-Version: mono 5.14.0.106\n"
|
||||||
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
|
||||||
"POT-Creation-Date: 2018-05-25 08:15+0000\n"
|
"POT-Creation-Date: 2018-05-26 08:15+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
BIN
po/mcs/pt_BR.gmo
BIN
po/mcs/pt_BR.gmo
Binary file not shown.
@ -1 +1 @@
|
|||||||
8a5f460a338d9e65fe7009b48441ceac63a6fa5d
|
6d97519d1d89ee8964144aec48af09514b2a223b
|
Loading…
x
Reference in New Issue
Block a user