[Lldb-commits] [PATCH] D50071: Use rich mangling information in Symtab::InitNameIndexes()

Stefan Gränitz via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Aug 1 14:41:51 PDT 2018


sgraenitz added a comment.

> If I understand things correctly, we could avoid circular deps and untyped pointers (or llvm::Any, which is essentially the same thing), by moving CPlusPlusLanguage::MethodName to a separate file.

Banning public nested classes in general is a good practice as long as C++ is lacking rich forward declarations. This is the issue here. If we could forward declare the class, all was great. The problem is, of course, that there is a pattern behind `Language::MethodName` within the language plugins. So changing all of them? Hmm..

> moving CPlusPlusLanguage::MethodName to a separate file.

You mean putting it in a separate file and include that one in the `RichManglingInfo.h`? I am not so familiar with the code yet, but it looks like there are reasons for having `CPlusPlusLanguage` under `Plugins` and separate these from other things like `Core` or `Symbol`. I don't think we should include a `Plugins` header from a `Core` header..

> Could we do that as a preparatory step for this patch?

Well, now I spent the time to make the hack nice haha.
To be honest, I am happy to talk about a follow-up task here, but doing this now and before finishing the demangling sounds like a big unrelated piece of work.


https://reviews.llvm.org/D50071





More information about the lldb-commits mailing list