Example #1
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();
        }
Example #2
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_ULONG);

            w.WriteUInt32(Value);
            w.WriteHeader();
        }
Example #3
0
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_POINTER);

            w.WriteIndexedType(UnderlyingType);
            w.WriteUInt32((uint)Attributes);
            w.WriteHeader();
        }
        public override void Write()
        {
            TypeDataWriter w = CreateWriter(LeafType.LF_CLASS);

            w.WriteUInt16(NumberOfElements);
            w.Write <TypeProperties>(FieldProperties);
            w.WriteUInt32(FieldIndex);
            w.WriteIndexedType(VShapeTableType);
            w.WriteVaryingType(StructSize);
            w.WriteCString(Name);
            w.WriteHeader();
        }
Example #5
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();
        }
Example #6
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();
        }