[Lldb-commits] [PATCH] D121631: Introduce new symbol on-demand for debug info

jeffrey tan via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Apr 11 16:39:59 PDT 2022

yinghuitan added a comment.

> Does this by any chance have something to do with the fact that there are now two compile unit lists (one in the actual symbol file, and one in the wrapping ondemand class?

Yes, that's the major reason. We also need make SymbolFileOnDemand friend in SymbolFile so that SymbolFileOnDemand can call/forward protected virtual methods of `SymbolFile` during overriding.

> Would it be possible to avoid that by making SymbolFile a stateless interface?

What part do you want to avoid? We could do that by creating a new `SymbolFileReal` class, but we still have to make these compile unit lists methods virtual in `SymbolFile` class so that, like, calling `SymbolFile::GetCompileUnitAtIndex()` can be overridden by `SymbolFileReal`(touching data fields) and `SymbolFileOnDemand` (forwarding to real impl), right?

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list