35 internal struct Record : IRecord
38 internal short PackingSize;
39 internal int ClassSize;
42 readonly
int IRecord.FilterKey => Parent;
44 public readonly
int CompareTo(Record other) => Comparer<int>.Default.Compare(Parent, other.Parent);
48 internal const int Index = (int)TableIndex.ClassLayout;
50 internal override void Read(Reader.MetadataReader mr)
52 for (
int i = 0; i < records.Length; i++)
54 records[i].PackingSize = mr.ReadInt16();
55 records[i].ClassSize = mr.ReadInt32();
56 records[i].Parent = mr.ReadTypeDef();
60 internal override void Write(ModuleBuilder module)
64 for (
int i = 0; i < rowCount; i++)
65 module.Metadata.AddTypeLayout(
66 (TypeDefinitionHandle)MetadataTokens.EntityHandle(records[i].Parent),
67 (ushort)records[i].PackingSize,
68 (uint)records[i].ClassSize);