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; }
internal override void Resolve(PEReader buff) { if (type == null) { buff.currentClassScope = parent; type = buff.GetFieldType(sigIx); buff.currentClassScope = null; } }
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); } } } }
internal override void Resolve(PEReader buff) { Type sigType = buff.GetFieldType(sigIx); buff.ReplaceSig(this,sigType); }