コード例 #1
0
ファイル: LF_BITFIELD.cs プロジェクト: gitter-badger/PDBSharp
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_BITFIELD);

            w.WriteIndexedType(Type);
            w.WriteByte(Length);
            w.WriteByte(Position);
            w.WriteHeader();
        }
コード例 #2
0
ファイル: LF_VTSHAPE.cs プロジェクト: smx-smx/PDBSharp
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_VTSHAPE);

            w.WriteUInt16(NumberOfEntries);

            byte data = 0x00;

            for (int i = 0; i < NumberOfEntries; i++)
            {
                byte descr = (byte)Descriptors[i];

                switch (i % 2)
                {
                case 0:
                    data = (byte)(descr & 0xF);
                    break;

                case 1:
                    data = (byte)(((descr << 4) & 0xF) | data);
                    w.WriteByte(data);
                    break;
                }
            }

            w.WriteHeader();
        }
コード例 #3
0
ファイル: LF_CHAR.cs プロジェクト: gitter-badger/PDBSharp
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_CHAR);

            w.WriteByte(Value);
            w.WriteHeader();
        }
コード例 #4
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_PROCEDURE);

            w.WriteIndexedType(ReturnValueType);
            w.Write <CallingConvention>(CallingConvention);
            w.WriteByte(0x00);
            w.WriteUInt16(NumberOfParameters);
            w.WriteIndexedType(ArgumentListType);
            w.WriteHeader();
        }