36 internal struct Record
40 internal StringHandle
Name;
45 internal const int Index = 0x0A;
49 for (
int i = 0; i < records.Length; i++)
51 records[i].Class = mr.ReadMemberRefParent();
52 records[i].Name = MetadataTokens.StringHandle(mr.ReadStringIndex());
53 records[i].Signature = MetadataTokens.BlobHandle(mr.ReadBlobIndex());
57 internal override void Write(ModuleBuilder module)
61 var h = module.Metadata.AddMemberReference(
62 MetadataTokens.EntityHandle(records[i].Class),
64 records[i].Signature);
66 Debug.Assert(h == MetadataTokens.MemberReferenceHandle(i + 1));
75 internal int FindOrAddRecord(Record record)
79 if (records[i].
Class == record.Class &&
80 records[i].Name == record.Name &&
81 records[i].Signature == record.Signature)
85 return AddRecord(record);
88 internal void Fixup(ModuleBuilder moduleBuilder)
91 moduleBuilder.FixupPseudoToken(
ref records[i].Class);