public CliModuleDictionary(CliAssembly owner) : base() { this.modules = GetReferenceModules(owner); base.Initialize(this.modules.Length + 1); this.owner = owner; }
private static int GetModuleCount(CliAssembly owner) { if (owner.MetadataRoot.TableStream.ModuleReferenceTable != null) { return(GetReferenceModules(owner).Count() + 1); } return(1); }
private static ICliMetadataModuleReferenceTableRow[] GetReferenceModules(CliAssembly owner) { var mrTable = owner.MetadataRoot.TableStream.ModuleReferenceTable; var fTable = owner.MetadataRoot.TableStream.FileTable; if (mrTable != null && fTable != null) { mrTable.Read(); fTable.Read(); var mtFQuery = from moduleRef in mrTable join file in fTable on moduleRef.NameIndex equals file.NameIndex select moduleRef; return(mtFQuery.ToArray()); } return(new ICliMetadataModuleReferenceTableRow[0]); }
internal CliModule(CliAssembly owner, ICliMetadataModuleTableRow metadata) : base(owner) { this.Metadata = metadata; this.memberData = ScanForMemberData(metadata); }