This merges the functionality of the macros in CVLeafTypes.def and the macros in TypeRecords.def into a single set of macros.
Details
Diff Detail
Event Timeline
LG, although I guess this depends on that meta-programming approach to deserialization which I should review.
include/llvm/DebugInfo/CodeView/TypeRecords.def | ||
---|---|---|
23 | I liked TYPE_RECORD and MEMBER_RECORD better than KNOWN_TYPE and MEMBER_TYPE. MEMBER_TYPES aren't really types, they're records describing class members. |
For whatever reason, records in MethodList don't contain a name, but in
OneMethod they do
MethodList is probably better named OverloadedMethodList or something like that. All the methods in the list have the same name. In a FieldList (which is really more of a MemberList) you can have two kinds of methods: OneMethod and OverloadedMethod. For whatever reason, OverloadedMethod points at a MethodList instead of listing all the overloads directly inline as trailing data. The OverloadedMethodRecord has the name for all the methods.
My code is a little out of date, so I can't easily look up OneMethodRecord. What does the empty StringRef() argument represent?