/*-------------------- Constructors ---------------------------------*/ internal ModuleRef(string name, bool entryPoint, byte[] hashValue) : base(name) { modFile = new ModuleFile(name, hashValue, entryPoint); ismscorlib = name.ToLower() == "mscorlib.dll"; tabIx = MDTable.ModuleRef; }
internal sealed override void Resolve(PEReader buff) { modFile = buff.GetFileDesc(name); if (modFile != null) { modFile.fileModule = this; } }
internal static void Read(PEReader buff, TableRow[] files) { for (int i = 0; i < files.Length; i++) { uint flags = buff.ReadUInt32(); if (flags == HasMetaData) files[i] = new ModuleFile(buff.GetString(), buff.GetBlob()); else files[i] = new ResourceFile(buff.GetString(), buff.GetBlob()); } }
internal sealed override void BuildTables(MetaDataOut md) { md.AddToTable(MDTable.ExportedType, this); nameSpaceIx = md.AddToStringsHeap(NameSpace); nameIx = md.AddToStringsHeap(Name); if (implementation is ModuleRef) { ModuleFile mFile = ((ModuleRef)implementation).modFile; mFile.BuildMDTables(md); implementation = mFile; } }
internal static void Read(PEReader buff, TableRow[] files) { for (int i = 0; i < files.Length; i++) { uint flags = buff.ReadUInt32(); if (flags == HasMetaData) { files[i] = new ModuleFile(buff.GetString(), buff.GetBlob()); } else { files[i] = new ResourceFile(buff.GetString(), buff.GetBlob()); } } }
internal override sealed void Resolve(PEReader buff) { modFile = buff.GetFileDesc(name); if (modFile != null) modFile.fileModule = this; }
internal ModuleRef(ModuleFile file) : base(file.Name()) { modFile = file; tabIx = MDTable.ModuleRef; }