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 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits