JDevlieghere added inline comments.
================ Comment at: lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h:30 + + const DWARFDataExtractor *maybeLoadArangesData(); + ---------------- zturner wrote: > JDevlieghere wrote: > > Why do we need these two methods? I presume it's because one does work and > > the other doesn't? If I understand the code correctly, `LoadOrGetSection` > > will initialize the optional, so could you just check the optional to > > determine where we should try to do work or not? > It's because one of them is `const` and a const version of the function > cannot do any work. It's possible we won't ever need this, and we'll always > want a "get or create" function, but i can imagine scenarios where we have a > const reference or const pointer. > > This is always a problem with these lazy type interfaces, because in that > case should you actually use `const_cast` or should you just fail and return > nullptr? It's a tough call. I chose to explicitly embed into the name > whether the function was doing work (e.g. `maybeLoad`) versus being purely a > getter that will never do work (e.g. `get`). Aha, I missed that. nit about the name: how about `getArangesData` and `getOrLoadArangesData` CHANGES SINCE LAST ACTION https://reviews.llvm.org/D59562/new/ https://reviews.llvm.org/D59562 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits