This patch includes following changes:
- Add Language member to Mangled class with corresponding constructor. Minor refactoring in places where Mangled instances used.
- Function name demangling depending on its compile unit actual language.
- Enable demangling for case if function/sym language still unknown at moment when demangling requested.
- Flag indicating known language was set added. Demangler now is able to re-demangle given sym name if it language was re-set since Mangled object creation. Demangling against unknown language is allowed because in lldb unknown language means C++/ObjC in most cases implicitly.
I don't like having this second argument here. If you know in advance the name is demangled, why even use this class for anything?