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

Reply via email to