Example #1
0
 internal override void Resolve(PEReader buff)
 {
     if (type == null)
     {
         buff.currentClassScope = parent;
         type = buff.GetFieldType(sigIx);
         buff.currentClassScope = null;
     }
 }
Example #2
0
 internal static void GetFieldRefs(PEReader buff, uint num, ClassRef parent)
 {
     for (int i = 0; i < num; i++)
     {
         uint flags = buff.ReadUInt16();
         string name = buff.GetString();
         uint sigIx = buff.GetBlobIx();
         if ((flags & (uint)FieldAttr.Public) == (uint)FieldAttr.Public)
         {
             if (parent.GetField(name) == null)
             {
                 //Console.WriteLine(parent.NameString());
                 buff.currentClassScope = parent;
                 FieldRef fRef = new FieldRef(parent, name, buff.GetFieldType(sigIx));
                 buff.currentClassScope = null;
                 parent.AddToFieldList(fRef);
             }
         }
     }
 }
Example #3
0
        internal void Resolve(PEReader buff, uint fIx)
        {
            //if ((flags & HasFieldMarshal) != 0)
            //  marshalType = FieldMarshal.FindMarshalType(buff,this,
            //    buff.MakeCodedIndex(CIx.HasFieldMarshal,MDTable.Field,fIx));
            //if ((flags & HasFieldRVA) != 0) {
            //initVal = FieldRVA.FindValue(buff, this, fIx);
            //}
            //if ((flags & HasDefault) != 0)
            //  constVal = ConstantElem.FindConst(buff,this,
            //    buff.MakeCodedIndex(CIx.HasConstant,MDTable.Field,fIx));
            //long offs = FieldLayout.FindLayout(buff,this,fIx);
            //if (offs > -1){
            //  hasOffset = true;
            //  offset = (uint)offs;
            //}

            buff.currentClassScope = parent;
            type = buff.GetFieldType(sigIx);
            buff.currentClassScope = null;
        }
Example #4
0
 internal override void Resolve(PEReader buff)
 {
     Type sigType = buff.GetFieldType(sigIx);
     buff.ReplaceSig(this, sigType);
 }