internal override sealed void BuildTables(MetaDataOut md) { md.AddToTable(MDTable.Field,this); nameIx = md.AddToStringsHeap(name); if (!type.isDef()) type.BuildMDTables(md); if (initVal != null) { FieldRVA rva = new FieldRVA(this,initVal); rva.BuildMDTables(md); } if (constVal != null) { ConstantElem constElem = new ConstantElem(this,constVal); constElem.BuildMDTables(md); } if (hasOffset) { FieldLayout layout = new FieldLayout(this,offset); layout.BuildMDTables(md); } if (marshalType != null) { FieldMarshal marshalInfo = new FieldMarshal(this,marshalType); marshalInfo.BuildMDTables(md); } }
internal static void Read(PEReader buff, TableRow[] fMarshal) { for (int i=0; i < fMarshal.Length; i++) fMarshal[i] = new FieldMarshal(buff); }
internal override sealed void BuildTables(MetaDataOut md) { md.AddToTable(MDTable.Param,this); nameIx = md.AddToStringsHeap(pName); if (defaultVal != null) { ConstantElem constElem = new ConstantElem(this,defaultVal); constElem.BuildMDTables(md); } if (marshalType != null) { FieldMarshal marshalInfo = new FieldMarshal(this,marshalType); marshalInfo.BuildMDTables(md); } }