clayborg added inline comments.

================
Comment at: lldb/source/Core/Mangled.cpp:322
   if (preference == ePreferDemangledWithoutArguments) {
-    return GetDemangledNameWithoutArguments(m_mangled, demangled);
+    if (Language *lang = Language::FindPlugin(GuessLanguage())) {
+      return lang->GetDemangledFunctionNameWithoutArguments(*this);
----------------
Maybe we should make a Language::FindPlugin(...) that like:
```
Language *Language::FindPlugin(Mangled::ManglingScheme mangling_scheme);
```
Should be easy to add since this change is kind of about refactoring and 
putting the code into plug-ins. It is essentially what "lldb::LanguageType 
Mangled::GuessLanguage() const" is doing. That code could be moved to where 
Language::FindPlugin(...) lives.


================
Comment at: lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp:67
 
+ConstString CPlusPlusLanguage::GetDemangledFunctionNameWithoutArguments(
+    Mangled mangled) const {
----------------
We are doing the work over and over here. Who calls this? Is this something we 
should think about caching? It would be easy to make a map of ConstString 
(demangled name) to ConstString (result of this function call) and we can 
possibly improve the efficiency of this. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D105215/new/

https://reviews.llvm.org/D105215

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to