示例#1
0
文件: PdbYaml.cpp 项目: davidlt/root
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);
}
示例#2
0
文件: PdbYaml.cpp 项目: davidlt/root
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);
}
示例#3
0
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);
}
示例#4
0
文件: PdbYaml.cpp 项目: davidlt/root
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);
}
示例#5
0
文件: PdbYaml.cpp 项目: davidlt/root
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);
}