IO.mapRequired("Representation", MPI.Representation);
}
+namespace llvm {
+namespace CodeViewYAML {
+namespace detail {
template <> void LeafRecordImpl<ModifierRecord>::map(IO &IO) {
IO.mapRequired("ModifiedType", Record.ModifiedType);
IO.mapRequired("Modifiers", Record.Modifiers);
void LeafRecordImpl<FieldListRecord>::map(IO &IO) {
IO.mapRequired("FieldList", Members);
}
+}
+}
+}
namespace {
class MemberRecordConversionVisitor : public TypeVisitorCallbacks {
return CVType(Kind, TTB.records().front());
}
+void MappingTraits<OneMethodRecord>::mapping(IO &io, OneMethodRecord &Record) {
+ io.mapRequired("Type", Record.Type);
+ io.mapRequired("Attrs", Record.Attrs.Attrs);
+ io.mapRequired("VFTableOffset", Record.VFTableOffset);
+ io.mapRequired("Name", Record.Name);
+}
+
+namespace llvm {
+namespace CodeViewYAML {
+namespace detail {
template <> void LeafRecordImpl<ClassRecord>::map(IO &IO) {
IO.mapRequired("MemberCount", Record.MemberCount);
IO.mapRequired("Options", Record.Options);
IO.mapRequired("Methods", Record.Methods);
}
-void MappingTraits<OneMethodRecord>::mapping(IO &io, OneMethodRecord &Record) {
- io.mapRequired("Type", Record.Type);
- io.mapRequired("Attrs", Record.Attrs.Attrs);
- io.mapRequired("VFTableOffset", Record.VFTableOffset);
- io.mapRequired("Name", Record.Name);
-}
-
template <> void MemberRecordImpl<OneMethodRecord>::map(IO &IO) {
MappingTraits<OneMethodRecord>::mapping(IO, Record);
}
template <> void MemberRecordImpl<ListContinuationRecord>::map(IO &IO) {
IO.mapRequired("ContinuationIndex", Record.ContinuationIndex);
}
+}
+}
+}
template <typename T>
static inline Expected<LeafRecord> fromCodeViewRecordImpl(CVType Type) {
return Leaf->toCodeViewRecord(Allocator);
}
+namespace llvm {
+namespace yaml {
template <> struct MappingTraits<LeafRecordBase> {
static void mapping(IO &io, LeafRecordBase &Record) { Record.map(io); }
};
+template <> struct MappingTraits<MemberRecordBase> {
+ static void mapping(IO &io, MemberRecordBase &Record) { Record.map(io); }
+};
+}
+}
+
template <typename ConcreteType>
static void mapLeafRecordImpl(IO &IO, const char *Class, TypeLeafKind Kind,
LeafRecord &Obj) {
}
}
-template <> struct MappingTraits<MemberRecordBase> {
- static void mapping(IO &io, MemberRecordBase &Record) { Record.map(io); }
-};
-
template <typename ConcreteType>
static void mapMemberRecordImpl(IO &IO, const char *Class, TypeLeafKind Kind,
MemberRecord &Obj) {