Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        public override void Read()
        {
            TypeDataReader r = CreateReader();

            ReturnValueType   = r.ReadIndexedType32Lazy();
            CallingConvention = r.ReadEnum <CallingConvention>();
            r.ReadByte();             //reserved
            NumberOfParameters = r.ReadUInt16();
            ArgumentListType   = r.ReadIndexedType32Lazy();
        }
Beispiel #3
0
        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();
        }