You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.175
Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
parent
4bdbaf4a88
commit
966bba02bb
5
external/cecil/.editorconfig
vendored
Normal file
5
external/cecil/.editorconfig
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
[*.cs]
|
||||
indent_style = tab
|
19
external/cecil/Mono.Cecil.Cil/CodeReader.cs
vendored
19
external/cecil/Mono.Cecil.Cil/CodeReader.cs
vendored
@@ -160,12 +160,12 @@ namespace Mono.Cecil.Cil {
|
||||
void ReadScope (ScopeDebugInformation scope)
|
||||
{
|
||||
var start_instruction = GetInstruction (scope.Start.Offset);
|
||||
if (start_instruction != null)
|
||||
scope.Start = new InstructionOffset (start_instruction);
|
||||
scope.Start = new InstructionOffset (start_instruction);
|
||||
|
||||
var end_instruction = GetInstruction (scope.End.Offset);
|
||||
if (end_instruction != null)
|
||||
scope.End = new InstructionOffset (end_instruction);
|
||||
scope.End = end_instruction != null
|
||||
? new InstructionOffset (end_instruction)
|
||||
: new InstructionOffset ();
|
||||
|
||||
if (!scope.variables.IsNullOrEmpty ()) {
|
||||
for (int i = 0; i < scope.variables.Count; i++) {
|
||||
@@ -318,9 +318,7 @@ namespace Mono.Cecil.Cil {
|
||||
switch (instruction.opcode.OperandType) {
|
||||
case OperandType.ShortInlineBrTarget:
|
||||
case OperandType.InlineBrTarget:
|
||||
var targetInstruction = GetInstruction ((int) instruction.operand);
|
||||
if (targetInstruction != null)
|
||||
instruction.operand = targetInstruction;
|
||||
instruction.operand = GetInstruction ((int) instruction.operand);
|
||||
break;
|
||||
case OperandType.InlineSwitch:
|
||||
var offsets = (int []) instruction.operand;
|
||||
@@ -438,13 +436,6 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
void Align (int align)
|
||||
{
|
||||
align--;
|
||||
var position = Position;
|
||||
Advance (((position + align) & ~align) - position);
|
||||
}
|
||||
|
||||
public MetadataToken ReadToken ()
|
||||
{
|
||||
return new MetadataToken (ReadUInt32 ());
|
||||
|
97
external/cecil/Mono.Cecil.Cil/CodeWriter.cs
vendored
97
external/cecil/Mono.Cecil.Cil/CodeWriter.cs
vendored
@@ -27,38 +27,35 @@ namespace Mono.Cecil.Cil {
|
||||
readonly RVA code_base;
|
||||
internal readonly MetadataBuilder metadata;
|
||||
readonly Dictionary<uint, MetadataToken> standalone_signatures;
|
||||
readonly Dictionary<ByteBuffer, RVA> tiny_method_bodies;
|
||||
|
||||
RVA current;
|
||||
MethodBody body;
|
||||
|
||||
public CodeWriter (MetadataBuilder metadata)
|
||||
: base (0)
|
||||
{
|
||||
this.code_base = metadata.text_map.GetNextRVA (TextSegment.CLIHeader);
|
||||
this.current = code_base;
|
||||
this.metadata = metadata;
|
||||
this.standalone_signatures = new Dictionary<uint, MetadataToken> ();
|
||||
this.tiny_method_bodies = new Dictionary<ByteBuffer, RVA> (new ByteBufferEqualityComparer ());
|
||||
}
|
||||
|
||||
public RVA WriteMethodBody (MethodDefinition method)
|
||||
{
|
||||
var rva = BeginMethod ();
|
||||
RVA rva;
|
||||
|
||||
if (IsUnresolved (method)) {
|
||||
if (method.rva == 0)
|
||||
return 0;
|
||||
|
||||
WriteUnresolvedMethodBody (method);
|
||||
rva = WriteUnresolvedMethodBody (method);
|
||||
} else {
|
||||
if (IsEmptyMethodBody (method.Body))
|
||||
return 0;
|
||||
|
||||
WriteResolvedMethodBody (method);
|
||||
rva = WriteResolvedMethodBody (method);
|
||||
}
|
||||
|
||||
Align (4);
|
||||
|
||||
EndMethod ();
|
||||
return rva;
|
||||
}
|
||||
|
||||
@@ -73,18 +70,25 @@ namespace Mono.Cecil.Cil {
|
||||
return method.HasBody && method.HasImage && method.body == null;
|
||||
}
|
||||
|
||||
void WriteUnresolvedMethodBody (MethodDefinition method)
|
||||
RVA WriteUnresolvedMethodBody (MethodDefinition method)
|
||||
{
|
||||
var code_reader = metadata.module.reader.code;
|
||||
|
||||
int code_size;
|
||||
MetadataToken local_var_token;
|
||||
var buffer = code_reader.PatchRawMethodBody (method, this, out code_size, out local_var_token);
|
||||
var raw_body = code_reader.PatchRawMethodBody (method, this, out code_size, out local_var_token);
|
||||
var fat_header = (raw_body.buffer [0] & 0x3) == 0x3;
|
||||
if (fat_header)
|
||||
Align (4);
|
||||
|
||||
WriteBytes (buffer);
|
||||
var rva = BeginMethod ();
|
||||
|
||||
if (fat_header || !GetOrMapTinyMethodBody (raw_body, ref rva)) {
|
||||
WriteBytes (raw_body);
|
||||
}
|
||||
|
||||
if (method.debug_info == null)
|
||||
return;
|
||||
return rva;
|
||||
|
||||
var symbol_writer = metadata.symbol_writer;
|
||||
if (symbol_writer != null) {
|
||||
@@ -92,21 +96,38 @@ namespace Mono.Cecil.Cil {
|
||||
method.debug_info.local_var_token = local_var_token;
|
||||
symbol_writer.Write (method.debug_info);
|
||||
}
|
||||
|
||||
return rva;
|
||||
}
|
||||
|
||||
void WriteResolvedMethodBody (MethodDefinition method)
|
||||
RVA WriteResolvedMethodBody(MethodDefinition method)
|
||||
{
|
||||
RVA rva;
|
||||
|
||||
body = method.Body;
|
||||
ComputeHeader ();
|
||||
if (RequiresFatHeader ())
|
||||
if (RequiresFatHeader ()) {
|
||||
Align (4);
|
||||
rva = BeginMethod ();
|
||||
WriteFatHeader ();
|
||||
else
|
||||
WriteInstructions ();
|
||||
|
||||
if (body.HasExceptionHandlers)
|
||||
WriteExceptionHandlers ();
|
||||
} else {
|
||||
rva = BeginMethod ();
|
||||
WriteByte ((byte) (0x2 | (body.CodeSize << 2))); // tiny
|
||||
WriteInstructions ();
|
||||
|
||||
WriteInstructions ();
|
||||
var start_position = (int) (rva - code_base);
|
||||
var body_size = position - start_position;
|
||||
var body_bytes = new byte [body_size];
|
||||
|
||||
if (body.HasExceptionHandlers)
|
||||
WriteExceptionHandlers ();
|
||||
Array.Copy (buffer, start_position, body_bytes, 0, body_size);
|
||||
|
||||
if (GetOrMapTinyMethodBody (new ByteBuffer (body_bytes), ref rva))
|
||||
position = start_position;
|
||||
}
|
||||
|
||||
var symbol_writer = metadata.symbol_writer;
|
||||
if (symbol_writer != null && method.debug_info != null) {
|
||||
@@ -114,6 +135,20 @@ namespace Mono.Cecil.Cil {
|
||||
method.debug_info.local_var_token = body.local_var_token;
|
||||
symbol_writer.Write (method.debug_info);
|
||||
}
|
||||
|
||||
return rva;
|
||||
}
|
||||
|
||||
bool GetOrMapTinyMethodBody (ByteBuffer body, ref RVA rva)
|
||||
{
|
||||
RVA existing_rva;
|
||||
if (tiny_method_bodies.TryGetValue (body, out existing_rva)) {
|
||||
rva = existing_rva;
|
||||
return true;
|
||||
}
|
||||
|
||||
tiny_method_bodies.Add (body, rva);
|
||||
return false;
|
||||
}
|
||||
|
||||
void WriteFatHeader ()
|
||||
@@ -166,8 +201,9 @@ namespace Mono.Cecil.Cil {
|
||||
return;
|
||||
|
||||
var operand = instruction.operand;
|
||||
if (operand == null)
|
||||
if (operand == null && !(operand_type == OperandType.InlineBrTarget || operand_type == OperandType.ShortInlineBrTarget)) {
|
||||
throw new ArgumentException ();
|
||||
}
|
||||
|
||||
switch (operand_type) {
|
||||
case OperandType.InlineSwitch: {
|
||||
@@ -179,11 +215,15 @@ namespace Mono.Cecil.Cil {
|
||||
break;
|
||||
}
|
||||
case OperandType.ShortInlineBrTarget: {
|
||||
WriteSByte ((sbyte) (GetTargetOffset (operand) - (instruction.Offset + opcode.Size + 1)));
|
||||
var target = (Instruction) operand;
|
||||
var offset = target != null ? GetTargetOffset (target) : body.code_size;
|
||||
WriteSByte ((sbyte) (offset - (instruction.Offset + opcode.Size + 1)));
|
||||
break;
|
||||
}
|
||||
case OperandType.InlineBrTarget: {
|
||||
WriteInt32 (GetTargetOffset (operand) - (instruction.Offset + opcode.Size + 4));
|
||||
var target = (Instruction) operand;
|
||||
var offset = target != null ? GetTargetOffset (target) : body.code_size;
|
||||
WriteInt32 (offset - (instruction.Offset + opcode.Size + 4));
|
||||
break;
|
||||
}
|
||||
case OperandType.ShortInlineVar:
|
||||
@@ -236,12 +276,8 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
int GetTargetOffset (object o)
|
||||
int GetTargetOffset (Instruction instruction)
|
||||
{
|
||||
if (o is int)
|
||||
return (int) o;
|
||||
|
||||
Instruction instruction = o as Instruction;
|
||||
if (instruction == null) {
|
||||
var last = body.instructions [body.instructions.size - 1];
|
||||
return last.offset + last.GetSize ();
|
||||
@@ -365,7 +401,7 @@ namespace Mono.Cecil.Cil {
|
||||
CopyBranchStackSize (ref stack_sizes, (Instruction) instruction.operand, stack_size);
|
||||
break;
|
||||
case OperandType.InlineSwitch:
|
||||
var targets = (Instruction[]) instruction.operand;
|
||||
var targets = (Instruction []) instruction.operand;
|
||||
for (int i = 0; i < targets.Length; i++)
|
||||
CopyBranchStackSize (ref stack_sizes, targets [i], stack_size);
|
||||
break;
|
||||
@@ -604,7 +640,7 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
RVA BeginMethod ()
|
||||
{
|
||||
return current;
|
||||
return (RVA)(code_base + position);
|
||||
}
|
||||
|
||||
void WriteMetadataToken (MetadataToken token)
|
||||
@@ -617,11 +653,6 @@ namespace Mono.Cecil.Cil {
|
||||
align--;
|
||||
WriteBytes (((position + align) & ~align) - position);
|
||||
}
|
||||
|
||||
void EndMethod ()
|
||||
{
|
||||
current = (RVA) (code_base + position);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
11
external/cecil/Mono.Cecil.Cil/Instruction.cs
vendored
11
external/cecil/Mono.Cecil.Cil/Instruction.cs
vendored
@@ -109,7 +109,7 @@ namespace Mono.Cecil.Cil {
|
||||
switch (opcode.OperandType) {
|
||||
case OperandType.ShortInlineBrTarget:
|
||||
case OperandType.InlineBrTarget:
|
||||
AppendLabel (instruction, operand);
|
||||
AppendLabel (instruction, (Instruction) operand);
|
||||
break;
|
||||
case OperandType.InlineSwitch:
|
||||
var labels = (Instruction []) operand;
|
||||
@@ -133,15 +133,10 @@ namespace Mono.Cecil.Cil {
|
||||
return instruction.ToString ();
|
||||
}
|
||||
|
||||
static void AppendLabel (StringBuilder builder, object o)
|
||||
static void AppendLabel (StringBuilder builder, Instruction instruction)
|
||||
{
|
||||
builder.Append ("IL_");
|
||||
if (o is Instruction)
|
||||
builder.Append ((o as Instruction).offset.ToString ("x4"));
|
||||
else if (o is int) {
|
||||
builder.Append (((int)o).ToString ("x4"));
|
||||
builder.Append (" (invalid)");
|
||||
}
|
||||
builder.Append (instruction.offset.ToString ("x4"));
|
||||
}
|
||||
|
||||
public static Instruction Create (OpCode opcode)
|
||||
|
221
external/cecil/Mono.Cecil.Cil/PortablePdb.cs
vendored
221
external/cecil/Mono.Cecil.Cil/PortablePdb.cs
vendored
@@ -11,6 +11,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
|
||||
using Mono.Cecil.Metadata;
|
||||
using Mono.Cecil.PE;
|
||||
@@ -19,7 +20,6 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
public sealed class PortablePdbReaderProvider : ISymbolReaderProvider {
|
||||
|
||||
#if !PCL
|
||||
public ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName)
|
||||
{
|
||||
Mixin.CheckModule (module);
|
||||
@@ -28,14 +28,13 @@ namespace Mono.Cecil.Cil {
|
||||
var file = File.OpenRead (Mixin.GetPdbFileName (fileName));
|
||||
return GetSymbolReader (module, Disposable.Owned (file as Stream), file.Name);
|
||||
}
|
||||
#endif
|
||||
|
||||
public ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream)
|
||||
{
|
||||
Mixin.CheckModule (module);
|
||||
Mixin.CheckStream (symbolStream);
|
||||
|
||||
return GetSymbolReader (module, Disposable.NotOwned (symbolStream), "");
|
||||
return GetSymbolReader (module, Disposable.NotOwned (symbolStream), symbolStream.GetFileName ());
|
||||
}
|
||||
|
||||
ISymbolReader GetSymbolReader (ModuleDefinition module, Disposable<Stream> symbolStream, string fileName)
|
||||
@@ -61,20 +60,33 @@ namespace Mono.Cecil.Cil {
|
||||
this.debug_reader = new MetadataReader (image, module, this.reader);
|
||||
}
|
||||
|
||||
public bool ProcessDebugHeader (ImageDebugDirectory directory, byte [] header)
|
||||
#if !READ_ONLY
|
||||
public ISymbolWriterProvider GetWriterProvider ()
|
||||
{
|
||||
return new PortablePdbWriterProvider ();
|
||||
}
|
||||
#endif
|
||||
|
||||
public bool ProcessDebugHeader (ImageDebugHeader header)
|
||||
{
|
||||
if (image == module.Image)
|
||||
return true;
|
||||
|
||||
if (header.Length < 24)
|
||||
var entry = header.GetCodeViewEntry ();
|
||||
if (entry == null)
|
||||
return false;
|
||||
|
||||
var magic = ReadInt32 (header, 0);
|
||||
var data = entry.Data;
|
||||
|
||||
if (data.Length < 24)
|
||||
return false;
|
||||
|
||||
var magic = ReadInt32 (data, 0);
|
||||
if (magic != 0x53445352)
|
||||
return false;
|
||||
|
||||
var buffer = new byte [16];
|
||||
Buffer.BlockCopy (header, 4, buffer, 0, 16);
|
||||
Buffer.BlockCopy (data, 4, buffer, 0, 16);
|
||||
|
||||
var module_guid = new Guid (buffer);
|
||||
|
||||
@@ -132,11 +144,81 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class EmbeddedPortablePdbReaderProvider : ISymbolReaderProvider {
|
||||
|
||||
public ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName)
|
||||
{
|
||||
Mixin.CheckModule (module);
|
||||
Mixin.CheckFileName (fileName);
|
||||
|
||||
var header = module.GetDebugHeader ();
|
||||
var entry = header.GetEmbeddedPortablePdbEntry ();
|
||||
if (entry == null)
|
||||
throw new InvalidOperationException ();
|
||||
|
||||
return new EmbeddedPortablePdbReader (
|
||||
(PortablePdbReader) new PortablePdbReaderProvider ().GetSymbolReader (module, GetPortablePdbStream (entry)));
|
||||
}
|
||||
|
||||
static Stream GetPortablePdbStream (ImageDebugHeaderEntry entry)
|
||||
{
|
||||
var compressed_stream = new MemoryStream (entry.Data);
|
||||
var reader = new BinaryStreamReader (compressed_stream);
|
||||
reader.ReadInt32 (); // signature
|
||||
var length = reader.ReadInt32 ();
|
||||
var decompressed_stream = new MemoryStream (length);
|
||||
|
||||
using (var deflate_stream = new DeflateStream (compressed_stream, CompressionMode.Decompress, leaveOpen: true))
|
||||
deflate_stream.CopyTo (decompressed_stream);
|
||||
|
||||
return decompressed_stream;
|
||||
}
|
||||
|
||||
public ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream)
|
||||
{
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class EmbeddedPortablePdbReader : ISymbolReader
|
||||
{
|
||||
private readonly PortablePdbReader reader;
|
||||
|
||||
internal EmbeddedPortablePdbReader (PortablePdbReader reader)
|
||||
{
|
||||
if (reader == null)
|
||||
throw new ArgumentNullException ();
|
||||
|
||||
this.reader = reader;
|
||||
}
|
||||
|
||||
#if !READ_ONLY
|
||||
public ISymbolWriterProvider GetWriterProvider ()
|
||||
{
|
||||
return new EmbeddedPortablePdbWriterProvider ();
|
||||
}
|
||||
#endif
|
||||
public bool ProcessDebugHeader (ImageDebugHeader header)
|
||||
{
|
||||
return reader.ProcessDebugHeader (header);
|
||||
}
|
||||
|
||||
public MethodDebugInformation Read (MethodDefinition method)
|
||||
{
|
||||
return reader.Read (method);
|
||||
}
|
||||
|
||||
public void Dispose ()
|
||||
{
|
||||
reader.Dispose ();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#if !READ_ONLY
|
||||
|
||||
public sealed class PortablePdbWriterProvider : ISymbolWriterProvider
|
||||
{
|
||||
#if !PCL
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName)
|
||||
{
|
||||
Mixin.CheckModule (module);
|
||||
@@ -145,7 +227,6 @@ namespace Mono.Cecil.Cil {
|
||||
var file = File.OpenWrite (Mixin.GetPdbFileName (fileName));
|
||||
return GetSymbolWriter (module, Disposable.Owned (file as Stream));
|
||||
}
|
||||
#endif
|
||||
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream)
|
||||
{
|
||||
@@ -164,7 +245,11 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
sealed class PortablePdbWriter : ISymbolWriter {
|
||||
interface IMetadataSymbolWriter : ISymbolWriter {
|
||||
void SetMetadata (MetadataBuilder metadata);
|
||||
}
|
||||
|
||||
public sealed class PortablePdbWriter : ISymbolWriter, IMetadataSymbolWriter {
|
||||
|
||||
readonly MetadataBuilder pdb_metadata;
|
||||
readonly ModuleDefinition module;
|
||||
@@ -174,19 +259,19 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
bool IsEmbedded { get { return writer == null; } }
|
||||
|
||||
public PortablePdbWriter (MetadataBuilder pdb_metadata, ModuleDefinition module)
|
||||
internal PortablePdbWriter (MetadataBuilder pdb_metadata, ModuleDefinition module)
|
||||
{
|
||||
this.pdb_metadata = pdb_metadata;
|
||||
this.module = module;
|
||||
}
|
||||
|
||||
public PortablePdbWriter (MetadataBuilder pdb_metadata, ModuleDefinition module, ImageWriter writer)
|
||||
internal PortablePdbWriter (MetadataBuilder pdb_metadata, ModuleDefinition module, ImageWriter writer)
|
||||
: this (pdb_metadata, module)
|
||||
{
|
||||
this.writer = writer;
|
||||
}
|
||||
|
||||
public void SetModuleMetadata (MetadataBuilder metadata)
|
||||
void IMetadataSymbolWriter.SetMetadata (MetadataBuilder metadata)
|
||||
{
|
||||
this.module_metadata = metadata;
|
||||
|
||||
@@ -194,18 +279,21 @@ namespace Mono.Cecil.Cil {
|
||||
this.pdb_metadata.metadata_builder = metadata;
|
||||
}
|
||||
|
||||
public bool GetDebugHeader (out ImageDebugDirectory directory, out byte [] header)
|
||||
public ISymbolReaderProvider GetReaderProvider ()
|
||||
{
|
||||
if (IsEmbedded) {
|
||||
directory = new ImageDebugDirectory ();
|
||||
header = Empty<byte>.Array;
|
||||
return false;
|
||||
}
|
||||
return new PortablePdbReaderProvider ();
|
||||
}
|
||||
|
||||
directory = new ImageDebugDirectory () {
|
||||
public ImageDebugHeader GetDebugHeader ()
|
||||
{
|
||||
if (IsEmbedded)
|
||||
return new ImageDebugHeader ();
|
||||
|
||||
var directory = new ImageDebugDirectory () {
|
||||
MajorVersion = 256,
|
||||
MinorVersion = 20557,
|
||||
Type = 2,
|
||||
Type = ImageDebugType.CodeView,
|
||||
TimeDateStamp = (int) module.timestamp,
|
||||
};
|
||||
|
||||
var buffer = new ByteBuffer ();
|
||||
@@ -223,10 +311,11 @@ namespace Mono.Cecil.Cil {
|
||||
buffer.WriteBytes (System.Text.Encoding.UTF8.GetBytes (filename));
|
||||
buffer.WriteByte (0);
|
||||
|
||||
header = new byte [buffer.length];
|
||||
Buffer.BlockCopy (buffer.buffer, 0, header, 0, buffer.length);
|
||||
directory.SizeOfData = header.Length;
|
||||
return true;
|
||||
var data = new byte [buffer.length];
|
||||
Buffer.BlockCopy (buffer.buffer, 0, data, 0, buffer.length);
|
||||
directory.SizeOfData = data.Length;
|
||||
|
||||
return new ImageDebugHeader (new ImageDebugHeaderEntry (directory, data));
|
||||
}
|
||||
|
||||
public void Write (MethodDebugInformation info)
|
||||
@@ -274,7 +363,7 @@ namespace Mono.Cecil.Cil {
|
||||
var pdb_heap = pdb_metadata.pdb_heap;
|
||||
|
||||
pdb_heap.WriteBytes (module.Mvid.ToByteArray ());
|
||||
pdb_heap.WriteUInt32 (module_metadata.time_stamp);
|
||||
pdb_heap.WriteUInt32 (module_metadata.timestamp);
|
||||
|
||||
pdb_heap.WriteUInt32 (module_metadata.entry_point.ToUInt32 ());
|
||||
|
||||
@@ -307,6 +396,86 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class EmbeddedPortablePdbWriterProvider : ISymbolWriterProvider {
|
||||
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName)
|
||||
{
|
||||
Mixin.CheckModule (module);
|
||||
Mixin.CheckFileName (fileName);
|
||||
|
||||
var stream = new MemoryStream ();
|
||||
var pdb_writer = (PortablePdbWriter) new PortablePdbWriterProvider ().GetSymbolWriter (module, stream);
|
||||
return new EmbeddedPortablePdbWriter (stream, pdb_writer);
|
||||
}
|
||||
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream)
|
||||
{
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class EmbeddedPortablePdbWriter : ISymbolWriter, IMetadataSymbolWriter {
|
||||
|
||||
readonly Stream stream;
|
||||
readonly PortablePdbWriter writer;
|
||||
|
||||
internal EmbeddedPortablePdbWriter (Stream stream, PortablePdbWriter writer)
|
||||
{
|
||||
this.stream = stream;
|
||||
this.writer = writer;
|
||||
}
|
||||
|
||||
public ISymbolReaderProvider GetReaderProvider ()
|
||||
{
|
||||
return new EmbeddedPortablePdbReaderProvider ();
|
||||
}
|
||||
|
||||
public ImageDebugHeader GetDebugHeader ()
|
||||
{
|
||||
writer.Dispose ();
|
||||
|
||||
var directory = new ImageDebugDirectory {
|
||||
Type = ImageDebugType.EmbeddedPortablePdb,
|
||||
};
|
||||
|
||||
var data = new MemoryStream ();
|
||||
|
||||
var w = new BinaryStreamWriter (data);
|
||||
w.WriteByte (0x4d);
|
||||
w.WriteByte (0x50);
|
||||
w.WriteByte (0x44);
|
||||
w.WriteByte (0x42);
|
||||
|
||||
w.WriteInt32 ((int) stream.Length);
|
||||
|
||||
stream.Position = 0;
|
||||
|
||||
using (var compress_stream = new DeflateStream (data, CompressionMode.Compress, leaveOpen: true))
|
||||
stream.CopyTo (compress_stream);
|
||||
|
||||
directory.SizeOfData = (int) data.Length;
|
||||
|
||||
return new ImageDebugHeader (new [] {
|
||||
writer.GetDebugHeader ().Entries [0],
|
||||
new ImageDebugHeaderEntry (directory, data.ToArray ())
|
||||
});
|
||||
}
|
||||
|
||||
public void Write (MethodDebugInformation info)
|
||||
{
|
||||
writer.Write (info);
|
||||
}
|
||||
|
||||
public void Dispose ()
|
||||
{
|
||||
}
|
||||
|
||||
void IMetadataSymbolWriter.SetMetadata (MetadataBuilder metadata)
|
||||
{
|
||||
((IMetadataSymbolWriter) writer).SetMetadata (metadata);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static class PdbGuidMapping {
|
||||
|
@@ -47,7 +47,7 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
|
||||
public bool IsHidden {
|
||||
get { return start_line == 0xfeefee && start_line == start_column; }
|
||||
get { return start_line == 0xfeefee && start_line == end_line; }
|
||||
}
|
||||
|
||||
public Document Document {
|
||||
|
193
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
193
external/cecil/Mono.Cecil.Cil/Symbols.cs
vendored
@@ -15,21 +15,79 @@ using System.Runtime.InteropServices;
|
||||
using SR = System.Reflection;
|
||||
|
||||
using Mono.Collections.Generic;
|
||||
using Mono.Cecil.Cil;
|
||||
|
||||
namespace Mono.Cecil.Cil {
|
||||
|
||||
[StructLayout (LayoutKind.Sequential)]
|
||||
public struct ImageDebugDirectory {
|
||||
public const int Size = 28;
|
||||
|
||||
public int Characteristics;
|
||||
public int TimeDateStamp;
|
||||
public short MajorVersion;
|
||||
public short MinorVersion;
|
||||
public int Type;
|
||||
public ImageDebugType Type;
|
||||
public int SizeOfData;
|
||||
public int AddressOfRawData;
|
||||
public int PointerToRawData;
|
||||
}
|
||||
|
||||
public enum ImageDebugType {
|
||||
CodeView = 2,
|
||||
Deterministic = 16,
|
||||
EmbeddedPortablePdb = 17,
|
||||
}
|
||||
|
||||
public sealed class ImageDebugHeader {
|
||||
|
||||
readonly ImageDebugHeaderEntry [] entries;
|
||||
|
||||
public bool HasEntries {
|
||||
get { return !entries.IsNullOrEmpty (); }
|
||||
}
|
||||
|
||||
public ImageDebugHeaderEntry [] Entries {
|
||||
get { return entries; }
|
||||
}
|
||||
|
||||
public ImageDebugHeader (ImageDebugHeaderEntry [] entries)
|
||||
{
|
||||
this.entries = entries ?? Empty<ImageDebugHeaderEntry>.Array;
|
||||
}
|
||||
|
||||
public ImageDebugHeader ()
|
||||
: this (Empty<ImageDebugHeaderEntry>.Array)
|
||||
{
|
||||
}
|
||||
|
||||
public ImageDebugHeader (ImageDebugHeaderEntry entry)
|
||||
: this (new [] { entry })
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ImageDebugHeaderEntry {
|
||||
|
||||
ImageDebugDirectory directory;
|
||||
readonly byte [] data;
|
||||
|
||||
public ImageDebugDirectory Directory {
|
||||
get { return directory; }
|
||||
internal set { directory = value; }
|
||||
}
|
||||
|
||||
public byte [] Data {
|
||||
get { return data; }
|
||||
}
|
||||
|
||||
public ImageDebugHeaderEntry (ImageDebugDirectory directory, byte [] data)
|
||||
{
|
||||
this.directory = directory;
|
||||
this.data = data ?? Empty<byte>.Array;
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class ScopeDebugInformation : DebugInformation {
|
||||
|
||||
internal InstructionOffset start;
|
||||
@@ -364,7 +422,7 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
}
|
||||
|
||||
interface ICustomDebugInformationProvider : IMetadataTokenProvider {
|
||||
public interface ICustomDebugInformationProvider : IMetadataTokenProvider {
|
||||
bool HasCustomDebugInformations { get; }
|
||||
Collection<CustomDebugInformation> CustomDebugInformations { get; }
|
||||
}
|
||||
@@ -381,8 +439,10 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
Guid identifier;
|
||||
|
||||
public Guid Identifier { get { return identifier; } }
|
||||
|
||||
public Guid Identifier {
|
||||
get { return identifier; }
|
||||
}
|
||||
|
||||
public abstract CustomDebugInformationKind Kind { get; }
|
||||
|
||||
internal CustomDebugInformation (Guid identifier)
|
||||
@@ -454,6 +514,12 @@ namespace Mono.Cecil.Cil {
|
||||
{
|
||||
this.catch_handler = new InstructionOffset (catchHandler);
|
||||
}
|
||||
|
||||
public AsyncMethodBodyDebugInformation ()
|
||||
: base (KindIdentifier)
|
||||
{
|
||||
this.catch_handler = new InstructionOffset (-1);
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class StateMachineScopeDebugInformation : CustomDebugInformation {
|
||||
@@ -488,7 +554,7 @@ namespace Mono.Cecil.Cil {
|
||||
: base (KindIdentifier)
|
||||
{
|
||||
this.start = new InstructionOffset (start);
|
||||
this.end = new InstructionOffset (end);
|
||||
this.end = end != null ? new InstructionOffset (end) : new InstructionOffset ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -617,19 +683,18 @@ namespace Mono.Cecil.Cil {
|
||||
}
|
||||
|
||||
public interface ISymbolReader : IDisposable {
|
||||
|
||||
bool ProcessDebugHeader (ImageDebugDirectory directory, byte [] header);
|
||||
#if !READ_ONLY
|
||||
ISymbolWriterProvider GetWriterProvider ();
|
||||
#endif
|
||||
bool ProcessDebugHeader (ImageDebugHeader header);
|
||||
MethodDebugInformation Read (MethodDefinition method);
|
||||
}
|
||||
|
||||
public interface ISymbolReaderProvider {
|
||||
#if !PCL
|
||||
ISymbolReader GetSymbolReader (ModuleDefinition module, string fileName);
|
||||
#endif
|
||||
ISymbolReader GetSymbolReader (ModuleDefinition module, Stream symbolStream);
|
||||
}
|
||||
|
||||
#if !PCL
|
||||
public class DefaultSymbolReaderProvider : ISymbolReaderProvider {
|
||||
|
||||
readonly bool throw_if_no_symbol;
|
||||
@@ -649,6 +714,13 @@ namespace Mono.Cecil.Cil {
|
||||
if (module.Image.HasDebugTables ())
|
||||
return null;
|
||||
|
||||
if (module.HasDebugHeader) {
|
||||
var header = module.GetDebugHeader ();
|
||||
var entry = header.GetEmbeddedPortablePdbEntry ();
|
||||
if (entry != null)
|
||||
return new EmbeddedPortablePdbReaderProvider ().GetSymbolReader (module, fileName);
|
||||
}
|
||||
|
||||
var pdb_file_name = Mixin.GetPdbFileName (fileName);
|
||||
|
||||
if (File.Exists (pdb_file_name))
|
||||
@@ -671,12 +743,11 @@ namespace Mono.Cecil.Cil {
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !PCL
|
||||
enum SymbolKind {
|
||||
NativePdb,
|
||||
PortablePdb,
|
||||
EmbeddedPortablePdb,
|
||||
Mdb,
|
||||
}
|
||||
|
||||
@@ -689,7 +760,7 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
var suffix = GetSymbolNamespace (kind);
|
||||
|
||||
var cecil_name = typeof (SymbolProvider).GetAssembly ().GetName ();
|
||||
var cecil_name = typeof (SymbolProvider).Assembly ().GetName ();
|
||||
|
||||
var name = new SR.AssemblyName {
|
||||
Name = cecil_name.Name + "." + suffix,
|
||||
@@ -728,11 +799,13 @@ namespace Mono.Cecil.Cil {
|
||||
{
|
||||
if (kind == SymbolKind.PortablePdb)
|
||||
return new PortablePdbReaderProvider ();
|
||||
if (kind == SymbolKind.EmbeddedPortablePdb)
|
||||
return new EmbeddedPortablePdbReaderProvider ();
|
||||
|
||||
var providerName = GetSymbolTypeName (kind, "ReaderProvider");
|
||||
var type = GetSymbolType (kind, providerName);
|
||||
var provider_name = GetSymbolTypeName (kind, "ReaderProvider");
|
||||
var type = GetSymbolType (kind, provider_name);
|
||||
if (type == null)
|
||||
throw new TypeLoadException ("Could not find symbol provider type " + providerName);
|
||||
throw new TypeLoadException ("Could not find symbol provider type " + provider_name);
|
||||
|
||||
return (ISymbolReaderProvider) Activator.CreateInstance (type);
|
||||
}
|
||||
@@ -744,7 +817,7 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
static string GetSymbolNamespace (SymbolKind kind)
|
||||
{
|
||||
if (kind == SymbolKind.PortablePdb)
|
||||
if (kind == SymbolKind.PortablePdb || kind == SymbolKind.EmbeddedPortablePdb)
|
||||
return "Cil";
|
||||
if (kind == SymbolKind.NativePdb)
|
||||
return "Pdb";
|
||||
@@ -753,54 +826,23 @@ namespace Mono.Cecil.Cil {
|
||||
|
||||
throw new ArgumentException ();
|
||||
}
|
||||
|
||||
#if !READ_ONLY
|
||||
|
||||
public static ISymbolWriterProvider GetWriterProvider (SymbolKind kind)
|
||||
{
|
||||
if (kind == SymbolKind.PortablePdb)
|
||||
return new PortablePdbWriterProvider ();
|
||||
|
||||
var type = GetSymbolType (kind, GetSymbolTypeName (kind, "WriterProvider"));
|
||||
if (type == null)
|
||||
return null;
|
||||
|
||||
return (ISymbolWriterProvider) Activator.CreateInstance (type);
|
||||
}
|
||||
|
||||
public static SymbolKind GetSymbolKind (Type type)
|
||||
{
|
||||
if (type.Name.Contains (SymbolKind.PortablePdb.ToString ()))
|
||||
return SymbolKind.PortablePdb;
|
||||
if (type.Name.Contains (SymbolKind.NativePdb.ToString ()))
|
||||
return SymbolKind.NativePdb;
|
||||
if (type.Name.Contains (SymbolKind.Mdb.ToString ()))
|
||||
return SymbolKind.Mdb;
|
||||
|
||||
throw new ArgumentException ();
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !READ_ONLY
|
||||
|
||||
public interface ISymbolWriter : IDisposable {
|
||||
|
||||
bool GetDebugHeader (out ImageDebugDirectory directory, out byte [] header);
|
||||
ISymbolReaderProvider GetReaderProvider ();
|
||||
ImageDebugHeader GetDebugHeader ();
|
||||
void Write (MethodDebugInformation info);
|
||||
}
|
||||
|
||||
public interface ISymbolWriterProvider {
|
||||
|
||||
#if !PCL
|
||||
ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName);
|
||||
#endif
|
||||
ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream);
|
||||
}
|
||||
|
||||
#if !PCL
|
||||
public class DefaultSymbolWriterProvider : ISymbolWriterProvider {
|
||||
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, string fileName)
|
||||
@@ -812,8 +854,7 @@ namespace Mono.Cecil.Cil {
|
||||
if (module.Image != null && module.Image.HasDebugTables ())
|
||||
return null;
|
||||
|
||||
var reader_kind = SymbolProvider.GetSymbolKind (reader.GetType ());
|
||||
return SymbolProvider.GetWriterProvider (reader_kind).GetSymbolWriter (module, fileName);
|
||||
return reader.GetWriterProvider ().GetSymbolWriter (module, fileName);
|
||||
}
|
||||
|
||||
public ISymbolWriter GetSymbolWriter (ModuleDefinition module, Stream symbolStream)
|
||||
@@ -821,17 +862,55 @@ namespace Mono.Cecil.Cil {
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !PCL
|
||||
|
||||
namespace Mono.Cecil {
|
||||
|
||||
static partial class Mixin {
|
||||
|
||||
public static ImageDebugHeaderEntry GetCodeViewEntry (this ImageDebugHeader header)
|
||||
{
|
||||
return GetEntry (header, ImageDebugType.CodeView);
|
||||
}
|
||||
|
||||
public static ImageDebugHeaderEntry GetDeterministicEntry (this ImageDebugHeader header)
|
||||
{
|
||||
return GetEntry (header, ImageDebugType.Deterministic);
|
||||
}
|
||||
|
||||
public static ImageDebugHeader AddDeterministicEntry (this ImageDebugHeader header)
|
||||
{
|
||||
var entry = new ImageDebugHeaderEntry (new ImageDebugDirectory { Type = ImageDebugType.Deterministic }, Empty<byte>.Array);
|
||||
if (header == null)
|
||||
return new ImageDebugHeader (entry);
|
||||
|
||||
var entries = new ImageDebugHeaderEntry [header.Entries.Length + 1];
|
||||
Array.Copy (header.Entries, entries, header.Entries.Length);
|
||||
entries [entries.Length - 1] = entry;
|
||||
return new ImageDebugHeader (entries);
|
||||
}
|
||||
|
||||
public static ImageDebugHeaderEntry GetEmbeddedPortablePdbEntry (this ImageDebugHeader header)
|
||||
{
|
||||
return GetEntry (header, ImageDebugType.EmbeddedPortablePdb);
|
||||
}
|
||||
|
||||
private static ImageDebugHeaderEntry GetEntry (this ImageDebugHeader header, ImageDebugType type)
|
||||
{
|
||||
if (!header.HasEntries)
|
||||
return null;
|
||||
|
||||
for (var i = 0; i < header.Entries.Length; i++) {
|
||||
var entry = header.Entries [i];
|
||||
if (entry.Directory.Type == type)
|
||||
return entry;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static string GetPdbFileName (string assemblyFileName)
|
||||
{
|
||||
return Path.ChangeExtension (assemblyFileName, ".pdb");
|
||||
@@ -852,6 +931,7 @@ namespace Mono.Cecil {
|
||||
{
|
||||
const uint ppdb_signature = 0x424a5342;
|
||||
|
||||
if (stream.Length < 4) return false;
|
||||
var position = stream.Position;
|
||||
try {
|
||||
var reader = new BinaryReader (stream);
|
||||
@@ -860,8 +940,5 @@ namespace Mono.Cecil {
|
||||
stream.Position = position;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
2
external/cecil/Mono.Cecil.Metadata/Heap.cs
vendored
2
external/cecil/Mono.Cecil.Metadata/Heap.cs
vendored
@@ -14,7 +14,7 @@ namespace Mono.Cecil.Metadata {
|
||||
|
||||
public int IndexSize;
|
||||
|
||||
internal byte [] data;
|
||||
readonly internal byte [] data;
|
||||
|
||||
protected Heap (byte [] data)
|
||||
{
|
||||
|
@@ -39,6 +39,13 @@ namespace Mono.Cecil.PE {
|
||||
BaseStream.Seek (position, SeekOrigin.Begin);
|
||||
}
|
||||
|
||||
public void Align (int align)
|
||||
{
|
||||
align--;
|
||||
var position = Position;
|
||||
Advance (((position + align) & ~align) - position);
|
||||
}
|
||||
|
||||
public DataDirectory ReadDataDirectory ()
|
||||
{
|
||||
return new DataDirectory (ReadUInt32 (), ReadUInt32 ());
|
||||
|
@@ -17,6 +17,11 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
class BinaryStreamWriter : BinaryWriter {
|
||||
|
||||
public int Position {
|
||||
get { return (int) BaseStream.Position; }
|
||||
set { BaseStream.Position = value; }
|
||||
}
|
||||
|
||||
public BinaryStreamWriter (Stream stream)
|
||||
: base (stream)
|
||||
{
|
||||
@@ -72,6 +77,16 @@ namespace Mono.Cecil.PE {
|
||||
{
|
||||
BaseStream.Seek (bytes, SeekOrigin.Current);
|
||||
}
|
||||
|
||||
public void Align (int align)
|
||||
{
|
||||
align--;
|
||||
var position = Position;
|
||||
var bytes = ((position + align) & ~align) - position;
|
||||
|
||||
for (int i = 0; i < bytes; i++)
|
||||
WriteByte (0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -32,29 +32,17 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
public int GetHashCode (ByteBuffer buffer)
|
||||
{
|
||||
#if !BYTE_BUFFER_WELL_DISTRIBUTED_HASH
|
||||
var hash = 0;
|
||||
// See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function
|
||||
const int fnv_offset_bias = unchecked((int)2166136261);
|
||||
const int fnv_prime = 16777619;
|
||||
|
||||
var hash_code = fnv_offset_bias;
|
||||
var bytes = buffer.buffer;
|
||||
|
||||
for (int i = 0; i < buffer.length; i++)
|
||||
hash = (hash * 37) ^ bytes [i];
|
||||
hash_code = unchecked ((hash_code ^ bytes [i]) * fnv_prime);
|
||||
|
||||
return hash;
|
||||
#else
|
||||
const uint p = 16777619;
|
||||
uint hash = 2166136261;
|
||||
|
||||
var bytes = buffer.buffer;
|
||||
for (int i = 0; i < buffer.length; i++)
|
||||
hash = (hash ^ bytes [i]) * p;
|
||||
|
||||
hash += hash << 13;
|
||||
hash ^= hash >> 7;
|
||||
hash += hash << 3;
|
||||
hash ^= hash >> 17;
|
||||
hash += hash << 5;
|
||||
|
||||
return (int) hash;
|
||||
#endif
|
||||
}
|
||||
return hash_code;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
32
external/cecil/Mono.Cecil.PE/Image.cs
vendored
32
external/cecil/Mono.Cecil.PE/Image.cs
vendored
@@ -13,6 +13,7 @@ using System.IO;
|
||||
|
||||
using Mono.Cecil.Cil;
|
||||
using Mono.Cecil.Metadata;
|
||||
using Mono.Collections.Generic;
|
||||
|
||||
using RVA = System.UInt32;
|
||||
|
||||
@@ -28,12 +29,14 @@ namespace Mono.Cecil.PE {
|
||||
public TargetArchitecture Architecture;
|
||||
public ModuleCharacteristics Characteristics;
|
||||
|
||||
public ImageDebugHeader DebugHeader;
|
||||
|
||||
public Section [] Sections;
|
||||
|
||||
public Section MetadataSection;
|
||||
|
||||
public uint EntryPointToken;
|
||||
public uint TimeStamp;
|
||||
public uint Timestamp;
|
||||
public ModuleAttributes Attributes;
|
||||
|
||||
public DataDirectory Debug;
|
||||
@@ -144,33 +147,6 @@ namespace Mono.Cecil.PE {
|
||||
}
|
||||
}
|
||||
|
||||
public ImageDebugDirectory GetDebugHeader (out byte [] header)
|
||||
{
|
||||
var reader = GetReaderAt (Debug.VirtualAddress);
|
||||
if (reader == null) {
|
||||
header = Empty<byte>.Array;
|
||||
return new ImageDebugDirectory ();
|
||||
}
|
||||
|
||||
var directory = new ImageDebugDirectory {
|
||||
Characteristics = reader.ReadInt32 (),
|
||||
TimeDateStamp = reader.ReadInt32 (),
|
||||
MajorVersion = reader.ReadInt16 (),
|
||||
MinorVersion = reader.ReadInt16 (),
|
||||
Type = reader.ReadInt32 (),
|
||||
SizeOfData = reader.ReadInt32 (),
|
||||
AddressOfRawData = reader.ReadInt32 (),
|
||||
PointerToRawData = reader.ReadInt32 (),
|
||||
};
|
||||
|
||||
reader = GetReaderAt ((uint) directory.AddressOfRawData);
|
||||
header = reader != null
|
||||
? reader.ReadBytes (directory.SizeOfData)
|
||||
: Empty<byte>.Array;
|
||||
|
||||
return directory;
|
||||
}
|
||||
|
||||
public bool HasDebugTables ()
|
||||
{
|
||||
return HasTable (Table.Document)
|
||||
|
60
external/cecil/Mono.Cecil.PE/ImageReader.cs
vendored
60
external/cecil/Mono.Cecil.PE/ImageReader.cs
vendored
@@ -11,7 +11,9 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
using Mono.Cecil.Cil;
|
||||
using Mono.Cecil.Metadata;
|
||||
using Mono.Collections.Generic;
|
||||
|
||||
using RVA = System.UInt32;
|
||||
|
||||
@@ -70,7 +72,7 @@ namespace Mono.Cecil.PE {
|
||||
ushort sections = ReadUInt16 ();
|
||||
|
||||
// TimeDateStamp 4
|
||||
image.TimeStamp = ReadUInt32 ();
|
||||
image.Timestamp = ReadUInt32 ();
|
||||
// PointerToSymbolTable 4
|
||||
// NumberOfSymbols 4
|
||||
// OptionalHeaderSize 2
|
||||
@@ -84,6 +86,7 @@ namespace Mono.Cecil.PE {
|
||||
ReadSections (sections);
|
||||
ReadCLIHeader ();
|
||||
ReadMetadata ();
|
||||
ReadDebugHeader ();
|
||||
|
||||
image.Kind = GetModuleKind (characteristics, subsystem);
|
||||
image.Characteristics = (ModuleCharacteristics) dll_characteristics;
|
||||
@@ -91,19 +94,7 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
TargetArchitecture ReadArchitecture ()
|
||||
{
|
||||
var machine = ReadUInt16 ();
|
||||
switch (machine) {
|
||||
case 0x014c:
|
||||
return TargetArchitecture.I386;
|
||||
case 0x8664:
|
||||
return TargetArchitecture.AMD64;
|
||||
case 0x0200:
|
||||
return TargetArchitecture.IA64;
|
||||
case 0x01c4:
|
||||
return TargetArchitecture.ARMv7;
|
||||
}
|
||||
|
||||
throw new NotSupportedException ();
|
||||
return (TargetArchitecture) ReadUInt16 ();
|
||||
}
|
||||
|
||||
static ModuleKind GetModuleKind (ushort characteristics, ushort subsystem)
|
||||
@@ -326,6 +317,47 @@ namespace Mono.Cecil.PE {
|
||||
ReadTableHeap ();
|
||||
}
|
||||
|
||||
void ReadDebugHeader ()
|
||||
{
|
||||
if (image.Debug.IsZero) {
|
||||
image.DebugHeader = new ImageDebugHeader (Empty<ImageDebugHeaderEntry>.Array);
|
||||
return;
|
||||
}
|
||||
|
||||
MoveTo (image.Debug);
|
||||
|
||||
var entries = new ImageDebugHeaderEntry [(int) image.Debug.Size / ImageDebugDirectory.Size];
|
||||
|
||||
for (int i = 0; i < entries.Length; i++) {
|
||||
var directory = new ImageDebugDirectory {
|
||||
Characteristics = ReadInt32 (),
|
||||
TimeDateStamp = ReadInt32 (),
|
||||
MajorVersion = ReadInt16 (),
|
||||
MinorVersion = ReadInt16 (),
|
||||
Type = (ImageDebugType) ReadInt32 (),
|
||||
SizeOfData = ReadInt32 (),
|
||||
AddressOfRawData = ReadInt32 (),
|
||||
PointerToRawData = ReadInt32 (),
|
||||
};
|
||||
|
||||
if (directory.AddressOfRawData == 0) {
|
||||
entries [i] = new ImageDebugHeaderEntry (directory, Empty<byte>.Array);
|
||||
continue;
|
||||
}
|
||||
|
||||
var position = Position;
|
||||
try {
|
||||
MoveTo ((uint) directory.PointerToRawData);
|
||||
var data = ReadBytes (directory.SizeOfData);
|
||||
entries [i] = new ImageDebugHeaderEntry (directory, data);
|
||||
} finally {
|
||||
Position = position;
|
||||
}
|
||||
}
|
||||
|
||||
image.DebugHeader = new ImageDebugHeader (entries);
|
||||
}
|
||||
|
||||
void ReadMetadataStream (Section section)
|
||||
{
|
||||
// Offset 4
|
||||
|
90
external/cecil/Mono.Cecil.PE/ImageWriter.cs
vendored
90
external/cecil/Mono.Cecil.PE/ImageWriter.cs
vendored
@@ -29,8 +29,7 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
readonly string runtime_version;
|
||||
|
||||
ImageDebugDirectory debug_directory;
|
||||
byte [] debug_data;
|
||||
ImageDebugHeader debug_header;
|
||||
|
||||
ByteBuffer win32_resources;
|
||||
|
||||
@@ -62,7 +61,7 @@ namespace Mono.Cecil.PE {
|
||||
if (metadataOnly)
|
||||
return;
|
||||
|
||||
this.pe64 = module.Architecture == TargetArchitecture.AMD64 || module.Architecture == TargetArchitecture.IA64;
|
||||
this.pe64 = module.Architecture == TargetArchitecture.AMD64 || module.Architecture == TargetArchitecture.IA64 || module.Architecture == TargetArchitecture.ARM64;
|
||||
this.has_reloc = module.Architecture == TargetArchitecture.I386;
|
||||
this.GetDebugHeader ();
|
||||
this.GetWin32Resources ();
|
||||
@@ -73,11 +72,17 @@ namespace Mono.Cecil.PE {
|
||||
void GetDebugHeader ()
|
||||
{
|
||||
var symbol_writer = metadata.symbol_writer;
|
||||
if (symbol_writer == null)
|
||||
return;
|
||||
if (symbol_writer != null)
|
||||
debug_header = symbol_writer.GetDebugHeader ();
|
||||
|
||||
if (!symbol_writer.GetDebugHeader (out debug_directory, out debug_data))
|
||||
debug_data = Empty<byte>.Array;
|
||||
if (module.HasDebugHeader) {
|
||||
var header = module.GetDebugHeader ();
|
||||
var deterministic = header.GetDeterministicEntry ();
|
||||
if (deterministic == null)
|
||||
return;
|
||||
|
||||
debug_header = debug_header.AddDeterministicEntry ();
|
||||
}
|
||||
}
|
||||
|
||||
void GetWin32Resources ()
|
||||
@@ -192,9 +197,9 @@ namespace Mono.Cecil.PE {
|
||||
void WritePEFileHeader ()
|
||||
{
|
||||
WriteUInt32 (0x00004550); // Magic
|
||||
WriteUInt16 (GetMachine ()); // Machine
|
||||
WriteUInt16 ((ushort) module.Architecture); // Machine
|
||||
WriteUInt16 (sections); // NumberOfSections
|
||||
WriteUInt32 (metadata.time_stamp);
|
||||
WriteUInt32 (metadata.timestamp);
|
||||
WriteUInt32 (0); // PointerToSymbolTable
|
||||
WriteUInt32 (0); // NumberOfSymbols
|
||||
WriteUInt16 (SizeOfOptionalHeader ()); // SizeOfOptionalHeader
|
||||
@@ -206,22 +211,6 @@ namespace Mono.Cecil.PE {
|
||||
WriteUInt16 (characteristics); // Characteristics
|
||||
}
|
||||
|
||||
ushort GetMachine ()
|
||||
{
|
||||
switch (module.Architecture) {
|
||||
case TargetArchitecture.I386:
|
||||
return 0x014c;
|
||||
case TargetArchitecture.AMD64:
|
||||
return 0x8664;
|
||||
case TargetArchitecture.IA64:
|
||||
return 0x0200;
|
||||
case TargetArchitecture.ARMv7:
|
||||
return 0x01c4;
|
||||
}
|
||||
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
|
||||
Section LastSection ()
|
||||
{
|
||||
if (reloc != null)
|
||||
@@ -308,7 +297,7 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
if (text_map.GetLength (TextSegment.DebugDirectory) > 0) {
|
||||
WriteUInt32 (text_map.GetRVA (TextSegment.DebugDirectory));
|
||||
WriteUInt32 (28u);
|
||||
WriteUInt32 ((uint) (debug_header.Entries.Length * ImageDebugDirectory.Size));
|
||||
} else
|
||||
WriteZeroDataDirectory ();
|
||||
|
||||
@@ -588,16 +577,27 @@ namespace Mono.Cecil.PE {
|
||||
|
||||
void WriteDebugDirectory ()
|
||||
{
|
||||
WriteInt32 (debug_directory.Characteristics);
|
||||
WriteUInt32 (metadata.time_stamp);
|
||||
WriteInt16 (debug_directory.MajorVersion);
|
||||
WriteInt16 (debug_directory.MinorVersion);
|
||||
WriteInt32 (debug_directory.Type);
|
||||
WriteInt32 (debug_directory.SizeOfData);
|
||||
WriteInt32 (debug_directory.AddressOfRawData);
|
||||
WriteInt32 ((int) BaseStream.Position + 4);
|
||||
var data_start = (int) BaseStream.Position + (debug_header.Entries.Length * ImageDebugDirectory.Size);
|
||||
|
||||
WriteBytes (debug_data);
|
||||
for (var i = 0; i < debug_header.Entries.Length; i++) {
|
||||
var entry = debug_header.Entries [i];
|
||||
var directory = entry.Directory;
|
||||
WriteInt32 (directory.Characteristics);
|
||||
WriteInt32 (directory.TimeDateStamp);
|
||||
WriteInt16 (directory.MajorVersion);
|
||||
WriteInt16 (directory.MinorVersion);
|
||||
WriteInt32 ((int) directory.Type);
|
||||
WriteInt32 (directory.SizeOfData);
|
||||
WriteInt32 (directory.AddressOfRawData);
|
||||
WriteInt32 (data_start);
|
||||
|
||||
data_start += entry.Data.Length;
|
||||
}
|
||||
|
||||
for (var i = 0; i < debug_header.Entries.Length; i++) {
|
||||
var entry = debug_header.Entries [i];
|
||||
WriteBytes (entry.Data);
|
||||
}
|
||||
}
|
||||
|
||||
void WriteImportDirectory ()
|
||||
@@ -695,11 +695,23 @@ namespace Mono.Cecil.PE {
|
||||
BuildMetadataTextMap ();
|
||||
|
||||
int debug_dir_len = 0;
|
||||
if (!debug_data.IsNullOrEmpty ()) {
|
||||
const int debug_dir_header_len = 28;
|
||||
if (debug_header != null && debug_header.HasEntries) {
|
||||
var directories_len = debug_header.Entries.Length * ImageDebugDirectory.Size;
|
||||
var data_address = (int) map.GetNextRVA (TextSegment.BlobHeap) + directories_len;
|
||||
var data_len = 0;
|
||||
|
||||
debug_directory.AddressOfRawData = (int) map.GetNextRVA (TextSegment.BlobHeap) + debug_dir_header_len;
|
||||
debug_dir_len = debug_data.Length + debug_dir_header_len;
|
||||
for (var i = 0; i < debug_header.Entries.Length; i++) {
|
||||
var entry = debug_header.Entries [i];
|
||||
var directory = entry.Directory;
|
||||
|
||||
directory.AddressOfRawData = entry.Data.Length == 0 ? 0 : data_address;
|
||||
entry.Directory = directory;
|
||||
|
||||
data_len += entry.Data.Length;
|
||||
data_address += data_len;
|
||||
}
|
||||
|
||||
debug_dir_len = directories_len + data_len;
|
||||
}
|
||||
|
||||
map.AddMap (TextSegment.DebugDirectory, debug_dir_len, 4);
|
||||
|
5
external/cecil/Mono.Cecil.csproj
vendored
5
external/cecil/Mono.Cecil.csproj
vendored
@@ -14,8 +14,7 @@
|
||||
<Compile Include="Mono.Cecil.PE\*.cs" />
|
||||
<Compile Include="Mono.Collections.Generic\*.cs" />
|
||||
<Compile Include="Mono.Security.Cryptography\*.cs" />
|
||||
<Compile Include="System.Security.Cryptography\*.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="Mono.Cecil.props" />
|
||||
<Import Project="$(MSBuildCSharpTargets)" />
|
||||
</Project>
|
||||
<Import Project="$(MSBuildCSharpTargets)" Condition=" ! $(NetStandard) " />
|
||||
</Project>
|
||||
|
6
external/cecil/Mono.Cecil.nuspec
vendored
6
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">
|
||||
<metadata xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<id>Mono.Cecil</id>
|
||||
<version>0.10.0.0-beta2</version>
|
||||
<version>0.10.0.0-beta6</version>
|
||||
<title>Mono.Cecil</title>
|
||||
<authors>Jb Evain</authors>
|
||||
<owners>Jb Evain</owners>
|
||||
@@ -16,7 +16,6 @@
|
||||
<dependencies>
|
||||
<group targetFramework=".NETFramework3.5" />
|
||||
<group targetFramework=".NETFramework4.0" />
|
||||
<group targetFramework=".NETPortable4.0-Profile344" />
|
||||
<group targetFramework=".NETStandard1.3">
|
||||
<dependency id="System.Collections" version="4.0.11" />
|
||||
<dependency id="System.IO.FileSystem" version="4.0.1" />
|
||||
@@ -32,7 +31,6 @@
|
||||
<files>
|
||||
<file src="bin\net_3_5_Release\*.dll" target="lib/net35" />
|
||||
<file src="bin\net_4_0_Release\*.dll" target="lib/net40" />
|
||||
<file src="bin\pcl_Release\*.dll" target="lib/portable-net40+sl5+win8+wp8+wpa" />
|
||||
<file src="core\bin\Release\netstandard1.3\*.dll" target="lib/netstandard1.3" />
|
||||
<file src="bin\netstandard_Release\netstandard1.3\*.dll" target="lib/netstandard1.3" />
|
||||
</files>
|
||||
</package>
|
||||
|
46
external/cecil/Mono.Cecil.props
vendored
46
external/cecil/Mono.Cecil.props
vendored
@@ -8,12 +8,14 @@
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<OutputType>Library</OutputType>
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\mono.snk</AssemblyOriginatorKeyFile>
|
||||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)\cecil.snk</AssemblyOriginatorKeyFile>
|
||||
<OutputType>Library</OutputType>
|
||||
<OutputPath>$(BuildDirectory)\bin\$(Configuration)\</OutputPath>
|
||||
<MSBuildCSharpTargets>$(MSBuildToolsPath)\Microsoft.CSharp.targets</MSBuildCSharpTargets>
|
||||
<NetStandard Condition=" $(Configuration.StartsWith('netstandard')) Or '$(NuGetRestoreTargets)' != '' ">true</NetStandard>
|
||||
<NetStandard Condition=" '$(NetStandard)' == '' ">false</NetStandard>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" $(Configuration.EndsWith('Debug')) ">
|
||||
<PropertyGroup Condition=" $(Configuration.Contains('Debug')) ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
@@ -21,7 +23,7 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" $(Configuration.EndsWith('Release')) ">
|
||||
<PropertyGroup Condition=" $(Configuration.Contains('Release')) ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>$(DefineConstants);TRACE;</DefineConstants>
|
||||
@@ -29,6 +31,9 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<RunCodeAnalysis>false</RunCodeAnalysis>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" $(Configuration.Contains('ReadOnly')) ">
|
||||
<DefineConstants>$(DefineConstants);READ_ONLY;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" $(Configuration.StartsWith('net_3_5')) ">
|
||||
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
|
||||
<DefineConstants>$(DefineConstants);</DefineConstants>
|
||||
@@ -37,31 +42,28 @@
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<DefineConstants>$(DefineConstants);NET_4_0;</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" $(Configuration.StartsWith('pcl')) ">
|
||||
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<TargetFrameworkProfile>Profile344</TargetFrameworkProfile>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<DefineConstants>$(DefineConstants);NET_4_0;PCL;</DefineConstants>
|
||||
<MSBuildCSharpTargets>$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets</MSBuildCSharpTargets>
|
||||
<PropertyGroup Condition=" $(NetStandard) ">
|
||||
<TargetFramework>netstandard1.3</TargetFramework>
|
||||
</PropertyGroup>
|
||||
<Import Project="NetStandard.props" Condition=" $(NetStandard) " />
|
||||
<!-- Shared References -->
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition=" ! $(NetStandard) ">
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System" />
|
||||
</ItemGroup>
|
||||
<!-- The following keeps Visual Studio happy; let's keep Visual Studio happy -->
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Debug' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Debug' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'pcl_Debug' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Release' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Release' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'pcl_Release' ">
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Debug' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Debug_ReadOnly' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Release' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_3_5_Release_ReadOnly' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Debug' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Debug_ReadOnly' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Release' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'net_4_0_Release_ReadOnly' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'netstandard_Debug' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'netstandard_Debug_ReadOnly' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'netstandard_Release' "/>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'netstandard_Release_ReadOnly' "/>
|
||||
<!-- This optional import allows products that distribute Cecil to tweak settings that will affect its
|
||||
build, without having to fork the project unnecessarily. The Mono.Cecil.overrides file is a plain
|
||||
MSBuild file with additional properties, and can exist anywhere upwards from the current Cecil repo
|
||||
|
182
external/cecil/Mono.Cecil.sln
vendored
182
external/cecil/Mono.Cecil.sln
vendored
@@ -24,130 +24,204 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Rocks", "rocks\M
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
net_3_5_Debug_ReadOnly|Any CPU = net_3_5_Debug_ReadOnly|Any CPU
|
||||
net_3_5_Debug|Any CPU = net_3_5_Debug|Any CPU
|
||||
net_3_5_Release_ReadOnly|Any CPU = net_3_5_Release_ReadOnly|Any CPU
|
||||
net_3_5_Release|Any CPU = net_3_5_Release|Any CPU
|
||||
net_4_0_Debug_ReadOnly|Any CPU = net_4_0_Debug_ReadOnly|Any CPU
|
||||
net_4_0_Debug|Any CPU = net_4_0_Debug|Any CPU
|
||||
net_4_0_Release_ReadOnly|Any CPU = net_4_0_Release_ReadOnly|Any CPU
|
||||
net_4_0_Release|Any CPU = net_4_0_Release|Any CPU
|
||||
net_4_5_Debug|Any CPU = net_4_5_Debug|Any CPU
|
||||
net_4_5_Release|Any CPU = net_4_5_Release|Any CPU
|
||||
pcl_Debug|Any CPU = pcl_Debug|Any CPU
|
||||
pcl_Release|Any CPU = pcl_Release|Any CPU
|
||||
netstandard_Debug_ReadOnly|Any CPU = netstandard_Debug_ReadOnly|Any CPU
|
||||
netstandard_Debug|Any CPU = netstandard_Debug|Any CPU
|
||||
netstandard_Release_ReadOnly|Any CPU = netstandard_Release_ReadOnly|Any CPU
|
||||
netstandard_Release|Any CPU = netstandard_Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.pcl_Debug|Any CPU.ActiveCfg = pcl_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.pcl_Debug|Any CPU.Build.0 = pcl_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.pcl_Release|Any CPU.ActiveCfg = pcl_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.pcl_Release|Any CPU.Build.0 = pcl_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Debug|Any CPU.Build.0 = netstandard_Debug|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{D68133BD-1E63-496E-9EDE-4FBDBF77B486}.netstandard_Release|Any CPU.Build.0 = netstandard_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.pcl_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{A47B1F49-A81A-43E8-BE6B-DD28AF2C4055}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.pcl_Debug|Any CPU.ActiveCfg = pcl_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Debug|Any CPU.Build.0 = netstandard_Debug|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{8559DD7F-A16F-46D0-A05A-9139FAEBA8FD}.netstandard_Release|Any CPU.Build.0 = netstandard_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.pcl_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{AC71DF9C-99FA-4A63-990A-66C8010355A6}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.pcl_Debug|Any CPU.ActiveCfg = pcl_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Debug|Any CPU.Build.0 = netstandard_Debug|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{63E6915C-7EA4-4D76-AB28-0D7191EEA626}.netstandard_Release|Any CPU.Build.0 = netstandard_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.pcl_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{29300103-CB76-4A1D-B6FD-FFD91C1EC8AA}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.pcl_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.pcl_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{C6CFD7E1-B855-44DC-B4CE-9CD72984AF52}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Debug_ReadOnly|Any CPU.ActiveCfg = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Debug_ReadOnly|Any CPU.Build.0 = net_3_5_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Debug|Any CPU.ActiveCfg = net_3_5_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Debug|Any CPU.Build.0 = net_3_5_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Release_ReadOnly|Any CPU.ActiveCfg = net_3_5_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Release_ReadOnly|Any CPU.Build.0 = net_3_5_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Release|Any CPU.ActiveCfg = net_3_5_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_3_5_Release|Any CPU.Build.0 = net_3_5_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Debug_ReadOnly|Any CPU.ActiveCfg = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Debug_ReadOnly|Any CPU.Build.0 = net_4_0_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Debug|Any CPU.ActiveCfg = net_4_0_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Debug|Any CPU.Build.0 = net_4_0_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Release_ReadOnly|Any CPU.ActiveCfg = net_4_0_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Release_ReadOnly|Any CPU.Build.0 = net_4_0_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_0_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_5_Debug|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_5_Debug|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_5_Release|Any CPU.ActiveCfg = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.net_4_5_Release|Any CPU.Build.0 = net_4_0_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.pcl_Debug|Any CPU.ActiveCfg = pcl_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.pcl_Release|Any CPU.ActiveCfg = pcl_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Debug_ReadOnly|Any CPU.ActiveCfg = netstandard_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Debug_ReadOnly|Any CPU.Build.0 = netstandard_Debug_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Debug|Any CPU.ActiveCfg = netstandard_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Debug|Any CPU.Build.0 = netstandard_Debug|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Release_ReadOnly|Any CPU.ActiveCfg = netstandard_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Release_ReadOnly|Any CPU.Build.0 = netstandard_Release_ReadOnly|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Release|Any CPU.ActiveCfg = netstandard_Release|Any CPU
|
||||
{FBC6DD59-D09D-499C-B03C-99C1C78FF2AC}.netstandard_Release|Any CPU.Build.0 = netstandard_Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@@ -124,7 +124,6 @@ namespace Mono.Cecil {
|
||||
}
|
||||
#endif
|
||||
|
||||
#if !PCL
|
||||
public static AssemblyDefinition ReadAssembly (string fileName)
|
||||
{
|
||||
return ReadAssembly (ModuleDefinition.ReadModule (fileName));
|
||||
@@ -134,7 +133,6 @@ namespace Mono.Cecil {
|
||||
{
|
||||
return ReadAssembly (ModuleDefinition.ReadModule (fileName, parameters));
|
||||
}
|
||||
#endif
|
||||
|
||||
public static AssemblyDefinition ReadAssembly (Stream stream)
|
||||
{
|
||||
@@ -157,7 +155,6 @@ namespace Mono.Cecil {
|
||||
|
||||
#if !READ_ONLY
|
||||
|
||||
#if !PCL
|
||||
public void Write (string fileName)
|
||||
{
|
||||
Write (fileName, new WriterParameters ());
|
||||
@@ -167,7 +164,6 @@ namespace Mono.Cecil {
|
||||
{
|
||||
main_module.Write (fileName, parameters);
|
||||
}
|
||||
#endif
|
||||
|
||||
public void Write ()
|
||||
{
|
||||
|
10
external/cecil/Mono.Cecil/AssemblyInfo.cs
vendored
10
external/cecil/Mono.Cecil/AssemblyInfo.cs
vendored
@@ -14,11 +14,11 @@ using System.Runtime.InteropServices;
|
||||
|
||||
[assembly: AssemblyTitle (Consts.AssemblyName)]
|
||||
|
||||
#if !PCL && !NET_CORE
|
||||
#if !NET_CORE
|
||||
[assembly: Guid ("fd225bb4-fa53-44b2-a6db-85f5e48dcb54")]
|
||||
#endif
|
||||
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Pdb, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Mdb, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Rocks, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010079159977d2d03a8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fddafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef0065d016df")]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Pdb, PublicKey=" + Consts.PublicKey)]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Mdb, PublicKey=" + Consts.PublicKey)]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Rocks, PublicKey=" + Consts.PublicKey)]
|
||||
[assembly: InternalsVisibleTo ("Mono.Cecil.Tests, PublicKey=" + Consts.PublicKey)]
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user