36 internal struct Record : IRecord
42 readonly
int IRecord.FilterKey => Field;
44 public readonly
int CompareTo(Record other) => Comparer<int>.Default.Compare(Field, other.Field);
48 internal const int Index = 0x10;
50 internal override void Read(Reader.MetadataReader mr)
52 for (
int i = 0; i < records.Length; i++)
54 records[i].Offset = mr.ReadInt32();
55 records[i].Field = mr.ReadField();
59 internal override void Write(ModuleBuilder module)
61 for (
int i = 0; i < rowCount; i++)
62 module.Metadata.AddFieldLayout(
63 (FieldDefinitionHandle)MetadataTokens.EntityHandle(records[i].Field),
67 internal void Fixup(ModuleBuilder moduleBuilder)
69 for (
int i = 0; i < rowCount; i++)
70 records[i].Field = moduleBuilder.ResolvePseudoToken(records[i].Field) & 0xFFFFFF;