In an effort to get DWARFDie::getAttributeValueAsXXX() calls to be more concise we want to:
- shorten the function names
- reduce the number of methods
- provide robust ways to get attributes and extract value
This is a proposal where we rename:
Optional<DWARFFormValue> DWARFDie::getAttributeValue(dwarf::Attribute Attr) const;
To:
Optional<DWARFFormValue> DWARFDie::find(dwarf::Attribute Attr) const;
And add:
Optional<DWARFFormValue> DWARFDie::findRecurse(dwarf::Attribute Attr) const;
So we can recurse into the DW_AT_abstract_origin and DW_AT_specification DIEs. Then by adding new helper functions, we can extract specific kinds of data from the returned Optional<DWARFFormValue> (see the dwarf::toString() functions in DWARFFormValue.h.
This is a test to see if people like how the code looks and like the interface before we possibly, if we like it, cut all code over to using it.
Not sure if we need this one, but I wanted to add it just in case so we can see that it would work. I would probably save a few bytes on a line. Like things in the unit tests currently is:
And it would become either:
Or:
I kind of like being able to specify the default.