public ClrmdField(ClrType parent, IFieldData data) { if (parent is null) { throw new ArgumentNullException(nameof(parent)); } if (data is null) { throw new ArgumentNullException(nameof(data)); } Parent = parent; Token = data.Token; ElementType = data.ElementType; Offset = data.Offset; _helpers = data.Helpers; // Must be the last use of 'data' in this constructor. _type = _helpers.Factory.GetOrCreateType(data.TypeMethodTable, 0); if (ElementType == ClrElementType.Class && _type != null) { ElementType = _type.ElementType; } DebugOnlyLoadLazyValues(); }
public ClrmdStaticField(ClrType parent, IFieldData data) { if (parent is null) { throw new ArgumentNullException(nameof(parent)); } if (data is null) { throw new ArgumentNullException(nameof(data)); } Parent = parent; Token = data.Token; ElementType = data.ElementType; Offset = data.Offset; _helpers = data.Helpers; // Must be the last use of 'data' in this constructor. _type = _helpers.Factory.GetOrCreateType(data.TypeMethodTable, 0); }
internal bool Init(SOSDac sos, ulong fieldDesc, IFieldHelpers helpers) { _helpers = helpers; return(sos.GetFieldData(fieldDesc, out _fieldData)); }