コード例 #1
0
ファイル: LF_POINTER16t.cs プロジェクト: smx-smx/PDBSharp
        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;
            }
        }
コード例 #2
0
        public override void Read()
        {
            TypeDataReader r = CreateReader();

            NumberOfElements = r.ReadUInt16();
            FieldIndex       = r.ReadIndexedType16Lazy();
            FieldProperties  = r.ReadFlagsEnum <TypeProperties>();
            DerivedType      = r.ReadIndexedType16Lazy();
            VShapeTableType  = r.ReadIndexedType16Lazy();

            StructSize = r.ReadVaryingType(out uint dataSize);
            Name       = r.ReadString16();
        }