void MappingContextTraits<PdbDbiModuleInfo, pdb::yaml::SerializationContext>::mapping(IO &IO, PdbDbiModuleInfo &Obj, pdb::yaml::SerializationContext &Context) { IO.mapRequired("Module", Obj.Mod); IO.mapOptional("ObjFile", Obj.Obj, Obj.Mod); IO.mapOptional("SourceFiles", Obj.SourceFiles); IO.mapOptionalWithContext("LineInfo", Obj.FileLineInfo, Context); IO.mapOptionalWithContext("Modi", Obj.Modi, Context); }
void MappingContextTraits<pdb::yaml::PdbSourceFileInfo, pdb::yaml::SerializationContext>:: mapping(IO &IO, PdbSourceFileInfo &Obj, pdb::yaml::SerializationContext &Context) { IO.mapOptionalWithContext("Checksums", Obj.FileChecksums, Context); IO.mapOptionalWithContext("Lines", Obj.LineFragments, Context); IO.mapOptionalWithContext("InlineeLines", Obj.Inlinees, Context); }
void MappingTraits<PdbObject>::mapping(IO &IO, PdbObject &Obj) { IO.mapOptional("MSF", Obj.Headers); IO.mapOptional("StreamSizes", Obj.StreamSizes); IO.mapOptional("StreamMap", Obj.StreamMap); IO.mapOptional("StringTable", Obj.StringTable); IO.mapOptional("PdbStream", Obj.PdbStream); IO.mapOptional("DbiStream", Obj.DbiStream); IO.mapOptionalWithContext("TpiStream", Obj.TpiStream, Obj.Allocator); IO.mapOptionalWithContext("IpiStream", Obj.IpiStream, Obj.Allocator); }
void MappingContextTraits<PdbDbiStream, pdb::yaml::SerializationContext>::mapping(IO &IO, PdbDbiStream &Obj, pdb::yaml::SerializationContext &Context) { IO.mapOptional("VerHeader", Obj.VerHeader, PdbDbiV70); IO.mapOptional("Age", Obj.Age, 1U); IO.mapOptional("BuildNumber", Obj.BuildNumber, uint16_t(0U)); IO.mapOptional("PdbDllVersion", Obj.PdbDllVersion, 0U); IO.mapOptional("PdbDllRbld", Obj.PdbDllRbld, uint16_t(0U)); IO.mapOptional("Flags", Obj.Flags, uint16_t(1U)); IO.mapOptional("MachineType", Obj.MachineType, PDB_Machine::x86); IO.mapOptionalWithContext("Modules", Obj.ModInfos, Context); }
void MappingTraits<PdbObject>::mapping(IO &IO, PdbObject &Obj) { // Create a single serialization context that will be passed through the // entire process of serializing / deserializing a Tpi Stream. This is // especially important when we are going from Pdb -> Yaml because we need // to maintain state in a TypeTableBuilder across mappings, and at the end of // the entire process, we need to have one TypeTableBuilder that has every // record. pdb::yaml::SerializationContext Context(IO, Obj.Allocator); IO.mapOptional("MSF", Obj.Headers); IO.mapOptional("StreamSizes", Obj.StreamSizes); IO.mapOptional("StreamMap", Obj.StreamMap); IO.mapOptional("StringTable", Obj.StringTable); IO.mapOptional("PdbStream", Obj.PdbStream); IO.mapOptionalWithContext("DbiStream", Obj.DbiStream, Context); IO.mapOptionalWithContext("TpiStream", Obj.TpiStream, Context); IO.mapOptionalWithContext("IpiStream", Obj.IpiStream, Context); }