mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
2.0 KiB
57 lines
2.0 KiB
//----------------------------------------------------------------------------- |
|
// |
|
// Copyright (c) Microsoft. All rights reserved. |
|
// This code is licensed under the Microsoft Public License. |
|
// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF |
|
// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY |
|
// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR |
|
// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. |
|
// |
|
//----------------------------------------------------------------------------- |
|
using System; |
|
|
|
namespace Microsoft.Cci.Pdb { |
|
internal class DbiModuleInfo { |
|
internal DbiModuleInfo(BitAccess bits, bool readStrings) { |
|
bits.ReadInt32(out opened); |
|
new DbiSecCon(bits); |
|
bits.ReadUInt16(out flags); |
|
bits.ReadInt16(out stream); |
|
bits.ReadInt32(out cbSyms); |
|
bits.ReadInt32(out cbOldLines); |
|
bits.ReadInt32(out cbLines); |
|
bits.ReadInt16(out files); |
|
bits.ReadInt16(out pad1); |
|
bits.ReadUInt32(out offsets); |
|
bits.ReadInt32(out niSource); |
|
bits.ReadInt32(out niCompiler); |
|
if (readStrings) { |
|
bits.ReadCString(out moduleName); |
|
bits.ReadCString(out objectName); |
|
} else { |
|
bits.SkipCString(out moduleName); |
|
bits.SkipCString(out objectName); |
|
} |
|
bits.Align(4); |
|
//if (opened != 0 || pad1 != 0) { |
|
// throw new PdbException("Invalid DBI module. "+ |
|
// "(opened={0}, pad={1})", opened, pad1); |
|
//} |
|
} |
|
|
|
internal int opened; // 0..3 |
|
//internal DbiSecCon section; // 4..31 |
|
internal ushort flags; // 32..33 |
|
internal short stream; // 34..35 |
|
internal int cbSyms; // 36..39 |
|
internal int cbOldLines; // 40..43 |
|
internal int cbLines; // 44..57 |
|
internal short files; // 48..49 |
|
internal short pad1; // 50..51 |
|
internal uint offsets; |
|
internal int niSource; |
|
internal int niCompiler; |
|
internal string moduleName; |
|
internal string objectName; |
|
} |
|
}
|
|
|