Ejemplo n.º 1
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_BCLASS);

            w.WriteUInt16((ushort)Attributes);
            w.WriteIndexedType(BaseClassType);
            w.WriteIndexedType(Offset);
            w.WriteHeader();
        }
Ejemplo n.º 2
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(Leaves.LeafType.LF_ARRAY);

            w.WriteIndexedType(ElementType);
            w.WriteIndexedType(IndexingType);
            w.WriteVaryingType(Size);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 3
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();
        }
Ejemplo n.º 4
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_IVBCLASS);

            w.WriteUInt16((ushort)Attributes);
            w.WriteIndexedType(VirtualBaseClassType);
            w.WriteIndexedType(VirtualBasePointerType);
            w.WriteVaryingType(OffsetFromAddress);
            w.WriteVaryingType(OffsetFromTable);
            w.WriteHeader();
        }
Ejemplo n.º 5
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_ENUM);

            w.WriteUInt16(NumElements);
            w.Write <TypeProperties>(Properties);
            w.WriteIndexedType(UnderlyingType);
            w.WriteIndexedType(FieldType);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 6
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_CLASS);

            w.WriteUInt16(NumberOfElements);
            w.Write <TypeProperties>(FieldProperties);
            w.WriteIndexedType(FieldIndex);
            w.WriteIndexedType(VShapeTableType);
            w.WriteVaryingType(StructSize);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 7
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_MFUNCTION);

            w.WriteIndexedType(ReturnValueType);
            w.WriteIndexedType(ContainingClassType);
            w.WriteIndexedType(ThisPointerType);
            w.Write <CallingConvention>(CallingConvention);
            w.Write <FunctionAttributes>(Attributes);
            w.WriteUInt16(NumberOfParameters);
            w.WriteIndexedType(ArgumentListType);
            w.WriteUInt32(ThisAdjustor);
            w.WriteHeader();
        }
Ejemplo n.º 8
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_VFTABLE);

            w.WriteIndexedType(Type);
            w.WriteIndexedType(BaseVfTable);
            w.WriteUInt32(OffsetInObjectLayout);
            w.WriteUInt32(NamesSize);
            foreach (string name in Names)
            {
                w.WriteCString(name);
            }
            w.WriteHeader();
        }
Ejemplo n.º 9
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_INDEX);

            w.WriteIndexedType(Referenced);
            w.WriteHeader();
        }
Ejemplo n.º 10
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_POINTER);

            w.WriteIndexedType(UnderlyingType);
            w.WriteUInt32((uint)Attributes);
            w.WriteHeader();
        }
Ejemplo n.º 11
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_MODIFIER);

            w.WriteIndexedType(ModifiedType);
            w.Write <CVModifier>(Flags);
            w.WriteHeader();
        }
Ejemplo n.º 12
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_VFUNCTAB);

            w.WriteUInt16(0x00);
            w.WriteIndexedType(PointerType);
            w.WriteHeader();
        }
Ejemplo n.º 13
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_STMEMBER);

            w.WriteUInt16((ushort)Attributes);
            w.WriteIndexedType(TypeRecord);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 14
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_METHOD);

            w.WriteUInt16(NumberOfOccurrences);
            w.WriteIndexedType(MethodListRecord);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 15
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_NESTTYPE);

            w.WriteUInt16(0x00);
            w.WriteIndexedType(NestedTypeDef);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 16
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_BITFIELD);

            w.WriteIndexedType(Type);
            w.WriteByte(Length);
            w.WriteByte(Position);
            w.WriteHeader();
        }
Ejemplo n.º 17
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_MEMBER);

            w.WriteUInt16((ushort)Attributes);
            w.WriteIndexedType(FieldType);
            w.WriteVaryingType(Offset);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Ejemplo n.º 18
0
        public void Write(PDBFile pdb, Stream stream)
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_UNION);

            w.WriteUInt16(NumberOfElements);
            w.Write <TypeProperties>(Properties);
            w.WriteIndexedType(FieldType);
            w.WriteVaryingType(StructSize);
            w.WriteCString(Name);
        }
Ejemplo n.º 19
0
        public void Write(PDBFile pdb, Stream stream)
        {
            TypeDataWriter w = new TypeDataWriter(pdb, stream, LeafType.LF_ARGLIST);

            w.WriteUInt16(NumberOfArguments);
            w.WriteUInt16(0x00);

            foreach (ILeafContainer leaf in ArgumentTypes)
            {
                w.WriteIndexedType(leaf);
            }

            w.WriteLeafHeader();
        }
Ejemplo n.º 20
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_ARGLIST);

            w.WriteUInt16(NumberOfArguments);
            w.WriteUInt16(0x00);

            foreach (ILeafContainer leaf in ArgumentTypes)
            {
                w.WriteIndexedType(leaf);
            }

            w.WriteHeader();
        }
Ejemplo n.º 21
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_METHODLIST);

            w.WriteUInt16((ushort)Attributes);
            w.WriteIndexedType(ProcedureTypeRecord);
            switch (Attributes.MethodProperties)
            {
            case MethodProperties.Intro:
            case MethodProperties.PureIntro:
                w.WriteUInt32(VBaseOffset);
                break;
            }
            w.WriteHeader();
        }