Пример #1
0
 /*-------------------- Constructors ---------------------------------*/
 internal FieldRVA(FieldDef field, DataConstant data)
 {
     Contract.Requires(field != null);
     Contract.Requires(data != null);
     this.field = field;
     this.data = data;
     tabIx = MDTable.FieldRVA;
 }
Пример #2
0
 /// <summary>
 /// Add a field to this class
 /// </summary>
 /// <param name="f">Descriptor for the field to be added</param>
 public void AddField(FieldDef f)
 {
     // FIXME Contract.Requires(fields != null);
     FieldDef field = (FieldDef)FindField(f.Name());
     if (field != null)
         throw new DescriptorException("Field " + field.NameString());
     f.SetParent(this);
     fields.Add(f);
 }
Пример #3
0
 /// <summary>
 /// Add a field to this class
 /// </summary>
 /// <param name="name">field name</param>
 /// <param name="fType">field type</param>
 /// <returns>a descriptor for this new field</returns>
 public FieldDef AddField(string name, Type fType)
 {
     Contract.Requires(name != null);
     Contract.Requires(fType != null);
     Contract.Ensures(Contract.Result<FieldDef>() != null);
     // FIXME Contract.Requires(fields != null);
     FieldDef field = (FieldDef)FindField(name);
     if (field != null)
         throw new DescriptorException("Field " + field.NameString());
     field = new FieldDef(name, fType, this);
     fields.Add(field);
     return field;
 }
Пример #4
0
 /// <summary>
 /// Add a "global" field to this module
 /// </summary>
 /// <param name="fld">The field to be added</param>
 public void AddField(FieldDef fld)
 {
     defaultClass.AddField(fld);
 }
Пример #5
0
 internal override sealed void Resolve(PEReader buff)
 {
     field = (FieldDef)buff.GetElement(MDTable.Field, fieldIx);
     field.SetOffset(offset);
 }
Пример #6
0
 /*-------------------- Constructors ---------------------------------*/
 internal FieldLayout(FieldDef field, uint offset)
 {
     this.field = field;
     this.offset = offset;
     tabIx = MDTable.FieldLayout;
 }
Пример #7
0
 internal static void Read(PEReader buff, TableRow[] fields)
 {
     for (int i = 0; i < fields.Length; i++)
         fields[i] = new FieldDef(buff);
 }
Пример #8
0
 internal override sealed void Resolve(PEReader buff)
 {
     field = (FieldDef)buff.GetElement(MDTable.Field, fieldIx);
     field.AddDataValue(buff.GetDataConstant(rva, field.GetFieldType()));
 }