public override void Read() { TypeDataReader r = CreateReader(); //// header Attributes = new PointerAttributes16(r.ReadUInt16()); UnderlyingType = r.ReadIndexedType16Lazy(); //// body switch (Attributes.PointerMode) { case PointerMode.Pointer: case PointerMode.Reference: switch (Attributes.PointerType) { case PointerType.BaseSeg: BaseSegment = r.ReadUInt16(); throw new NotImplementedException("LF_REFSYM"); break; case PointerType.BaseType: BaseType = r.ReadIndexedType16Lazy(); BaseTypeName = r.ReadString16(); break; } break; case PointerMode.PointerMember: case PointerMode.PointerFunction: ContainingClass = r.ReadIndexedType16Lazy(); MemberPointerType = r.ReadEnum <MemberPointerType>(); break; } }
public override void Read() { TypeDataReader r = CreateReader(); ReturnValueType = r.ReadIndexedType32Lazy(); CallingConvention = r.ReadEnum <CallingConvention>(); r.ReadByte(); //reserved NumberOfParameters = r.ReadUInt16(); ArgumentListType = r.ReadIndexedType32Lazy(); }
public override void Read() { TypeDataReader r = CreateReader(); ReturnValueType = r.ReadIndexedTypeLazy(); ContainingClassType = r.ReadIndexedTypeLazy(); ThisPointerType = r.ReadIndexedTypeLazy(); CallingConvention = r.ReadEnum <CallingConvention>(); Attributes = r.ReadFlagsEnum <FunctionAttributes>(); NumberOfParameters = r.ReadUInt16(); ArgumentListType = r.ReadIndexedTypeLazy(); ThisAdjustor = r.ReadUInt32(); }