[PATCH] D118413: [Debuginfod] [Symbolizer] Break debuginfod out of libLLVM.

Petr Hosek via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 31 23:52:44 PST 2022


phosek added inline comments.


================
Comment at: llvm/include/llvm/DebugInfo/Symbolize/DebugInfoFetcher.h:29
+/// contains the methods given in its concept.
+class DebugInfoFetcher {
+private:
----------------
I'd probably go with a simple `DIFetcher` which better matches the derived types.


================
Comment at: llvm/include/llvm/DebugInfo/Symbolize/DebugInfoFetcher.h:32-36
+  struct Concept {
+    virtual Optional<std::string>
+    fetchBuildID(ArrayRef<uint8_t> BuildID) const = 0;
+  };
+  template <typename T> class Model;
----------------
Do we really need the concept? Wouldn't a simple inheritance with virtual functions be sufficient? IIUC the reason for using concept is if you want to opt types that you do not own into the abstract interface, but that's not what we need here since all the types are part of LLVM.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118413/new/

https://reviews.llvm.org/D118413



More information about the llvm-commits mailing list