[Lldb-commits] [lldb] [LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (PR #135033)

Dmitry Vasilyev via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 9 17:49:21 PDT 2025


slydiman wrote:

Note `Language::ForEach()` gives the following list:
```
cplusplus(eLanguageTypeC_plus_plus)
objc(eLanguageTypeObjC)
objcplusplus(eLanguageTypeObjC_plus_plus)
cplusplus(eLanguageTypeC_plus_plus_03)
cplusplus(eLanguageTypeC_plus_plus_11)
cplusplus(eLanguageTypeC_plus_plus_14)
cplusplus(eLanguageTypeC_plus_plus_17)
cplusplus(eLanguageTypeC_plus_plus_20)
```
so cplusplus plug-in was called many times. The order of language plug-ins in CMakeLists.txt does not matter.

I have optimized `Module::LookupInfo()` a lot.

Note if name_type_mask = eFunctionNameTypeAuto it is very important to call all plugins and cplusplus->GetFunctionNameInfo(). gives `eFunctionNameTypeMethod | eFunctionNameTypeBase` flags to ObjC names.

The TestExternCSymbols.py test failed because of missing logic
```
// Still try and get a basename in case someone specifies a name type mask
// of eFunctionNameTypeFull and a name like "A::func"
```
It must be fixed now.

https://github.com/llvm/llvm-project/pull/135033


More information about the lldb-commits mailing list