36 internal struct Record
40 internal BlobHandle Instantiation;
44 internal const int Index = 0x2B;
48 for (
int i = 0; i < records.Length; i++)
50 records[i].Method = mr.ReadMethodDefOrRef();
51 records[i].Instantiation = MetadataTokens.BlobHandle(mr.ReadBlobIndex());
55 internal override void Write(ModuleBuilder module)
59 var h = module.Metadata.AddMethodSpecification(
60 MetadataTokens.EntityHandle(records[i].Method),
61 records[i].Instantiation);
63 Debug.Assert(h == MetadataTokens.MethodSpecificationHandle(i + 1));
67 internal int FindOrAddRecord(Record record)
70 if (records[i].Method == record.Method && records[i].Instantiation == record.Instantiation)
73 return AddRecord(record);
76 internal void Fixup(ModuleBuilder moduleBuilder)
79 moduleBuilder.FixupPseudoToken(
ref records[i].Method);