You've already forked linux-packaging-mono
Imported Upstream version 5.4.0.167
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
This commit is contained in:
parent
e49d6f06c0
commit
536cd135cc
22
external/cecil/Mono.Cecil.Cil/PortablePdb.cs
vendored
22
external/cecil/Mono.Cecil.Cil/PortablePdb.cs
vendored
@@ -94,7 +94,11 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
var pdb_guid = new Guid (buffer);
|
||||
|
||||
return module_guid == pdb_guid;
|
||||
if (module_guid != pdb_guid)
|
||||
return false;
|
||||
|
||||
ReadModule ();
|
||||
return true;
|
||||
}
|
||||
|
||||
static int ReadInt32 (byte [] bytes, int start)
|
||||
@@ -105,6 +109,11 @@ namespace Mono.Cecil.Cil {
|
||||
| (bytes [start + 3] << 24));
|
||||
}
|
||||
|
||||
void ReadModule ()
|
||||
{
|
||||
module.custom_infos = debug_reader.GetCustomDebugInformation (module);
|
||||
}
|
||||
|
||||
public MethodDebugInformation Read (MethodDefinition method)
|
||||
{
|
||||
var info = new MethodDebugInformation (method);
|
||||
@@ -247,6 +256,7 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
interface IMetadataSymbolWriter : ISymbolWriter {
|
||||
void SetMetadata (MetadataBuilder metadata);
|
||||
void WriteModule ();
|
||||
}
|
||||
|
||||
public sealed class PortablePdbWriter : ISymbolWriter, IMetadataSymbolWriter {
|
||||
@@ -279,6 +289,11 @@ namespace Mono.Cecil.Cil {
|
||||
this.pdb_metadata.metadata_builder = metadata;
|
||||
}
|
||||
|
||||
void IMetadataSymbolWriter.WriteModule ()
|
||||
{
|
||||
pdb_metadata.AddCustomDebugInformations (module);
|
||||
}
|
||||
|
||||
public ISymbolReaderProvider GetReaderProvider ()
|
||||
{
|
||||
return new PortablePdbReaderProvider ();
|
||||
@@ -474,6 +489,11 @@ namespace Mono.Cecil.Cil {
|
||||
{
|
||||
((IMetadataSymbolWriter) writer).SetMetadata (metadata);
|
||||
}
|
||||
|
||||
void IMetadataSymbolWriter.WriteModule ()
|
||||
{
|
||||
((IMetadataSymbolWriter) writer).WriteModule ();
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
53
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
53
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
@@ -433,6 +433,8 @@ namespace Mono.Cecil.Cil {
|
||||
DynamicVariable,
|
||||
DefaultNamespace,
|
||||
AsyncMethodBody,
|
||||
EmbeddedSource,
|
||||
SourceLink,
|
||||
}
|
||||
|
||||
public abstract class CustomDebugInformation : DebugInformation {
|
||||
@@ -558,6 +560,57 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class EmbeddedSourceDebugInformation : CustomDebugInformation {
|
||||
|
||||
internal byte [] content;
|
||||
internal bool compress;
|
||||
|
||||
public byte [] Content {
|
||||
get { return content; }
|
||||
set { content = value; }
|
||||
}
|
||||
|
||||
public bool Compress {
|
||||
get { return compress; }
|
||||
set { compress = value; }
|
||||
}
|
||||
|
||||
public override CustomDebugInformationKind Kind {
|
||||
get { return CustomDebugInformationKind.EmbeddedSource; }
|
||||
}
|
||||
|
||||
public static Guid KindIdentifier = new Guid ("{0E8A571B-6926-466E-B4AD-8AB04611F5FE}");
|
||||
|
||||
public EmbeddedSourceDebugInformation (byte [] content, bool compress)
|
||||
: base (KindIdentifier)
|
||||
{
|
||||
this.content = content;
|
||||
this.compress = compress;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class SourceLinkDebugInformation : CustomDebugInformation {
|
||||
|
||||
internal string content;
|
||||
|
||||
public string Content {
|
||||
get { return content; }
|
||||
set { content = value; }
|
||||
}
|
||||
|
||||
public override CustomDebugInformationKind Kind {
|
||||
get { return CustomDebugInformationKind.SourceLink; }
|
||||
}
|
||||
|
||||
public static Guid KindIdentifier = new Guid ("{CC110556-A091-4D38-9FEC-25AB9A351A6A}");
|
||||
|
||||
public SourceLinkDebugInformation (string content)
|
||||
: base (KindIdentifier)
|
||||
{
|
||||
this.content = content;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class MethodDebugInformation : DebugInformation {
|
||||
|
||||
internal MethodDefinition method;
|
||||
|
||||
Reference in New Issue
Block a user