Free cookie consent management tool by TermsFeed Policy Generator

source: branches/2389-EpsLexicase/HeuristicLab.ExtLibs/HeuristicLab.Cecil/0.9.5/Mono.Cecil-0.9.5/Symbols/Mono.Cecil.Pdb/Microsoft.Cci.Pdb/DbiModuleInfo.cs

Last change on this file was 11700, checked in by jkarder, 10 years ago

#2077: created branch and added first version

File size: 1.8 KB
Line 
1//-----------------------------------------------------------------------------
2//
3// Copyright (C) Microsoft Corporation.  All Rights Reserved.
4//
5//-----------------------------------------------------------------------------
6using System;
7
8namespace Microsoft.Cci.Pdb {
9  internal class DbiModuleInfo {
10    internal DbiModuleInfo(BitAccess bits, bool readStrings) {
11      bits.ReadInt32(out opened);
12      section = new DbiSecCon(bits);
13      bits.ReadUInt16(out flags);
14      bits.ReadInt16(out stream);
15      bits.ReadInt32(out cbSyms);
16      bits.ReadInt32(out cbOldLines);
17      bits.ReadInt32(out cbLines);
18      bits.ReadInt16(out files);
19      bits.ReadInt16(out pad1);
20      bits.ReadUInt32(out offsets);
21      bits.ReadInt32(out niSource);
22      bits.ReadInt32(out niCompiler);
23      if (readStrings) {
24        bits.ReadCString(out moduleName);
25        bits.ReadCString(out objectName);
26      } else {
27        bits.SkipCString(out moduleName);
28        bits.SkipCString(out objectName);
29      }
30      bits.Align(4);
31      //if (opened != 0 || pad1 != 0) {
32      //  throw new PdbException("Invalid DBI module. "+
33      //                                 "(opened={0}, pad={1})", opened, pad1);
34      //}
35    }
36
37    internal int opened;                 //  0..3
38    internal DbiSecCon section;                //  4..31
39    internal ushort flags;                  // 32..33
40    internal short stream;                 // 34..35
41    internal int cbSyms;                 // 36..39
42    internal int cbOldLines;             // 40..43
43    internal int cbLines;                // 44..57
44    internal short files;                  // 48..49
45    internal short pad1;                   // 50..51
46    internal uint offsets;
47    internal int niSource;
48    internal int niCompiler;
49    internal string moduleName;
50    internal string objectName;
51  }
52}
Note: See TracBrowser for help on using the repository browser.