aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
diff options
context:
space:
mode:
authorCharles Zablit <c_zablit@apple.com>2025-08-05 14:07:35 +0200
committerGitHub <noreply@github.com>2025-08-05 14:07:35 +0200
commitab6923b9b7a75de79ee06b400ae73771e130339e (patch)
tree51ee10d5d6efa6bce8dbdbdb963add53e90fdc2e /lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
parent3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed (diff)
downloadllvm-ab6923b9b7a75de79ee06b400ae73771e130339e.zip
llvm-ab6923b9b7a75de79ee06b400ae73771e130339e.tar.gz
llvm-ab6923b9b7a75de79ee06b400ae73771e130339e.tar.bz2
[lldb] add TemplateRange and NameQualifiersRange to DemangledNameInfo (#150999)
This patch adds 2 new attributes to `DemangledNameInfo`: `TemplateRange` and `NameQualifiersRange`. It also introduces the `function.name-qualifiers` entity formatter which allows tracking qualifiers between the name of a function and its arguments/template. This will be used downstream in Swift but may have applications in C++: https://github.com/swiftlang/llvm-project/pull/11068.
Diffstat (limited to 'lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp')
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index 46753c5..3353d5a 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -283,12 +283,12 @@ GetDemangledTemplateArguments(const SymbolContext &sc) {
auto [demangled_name, info] = *info_or_err;
- if (info.ArgumentsRange.first < info.BasenameRange.second)
- return llvm::createStringError("Arguments range for '%s' is invalid.",
- demangled_name.data());
+ if (!info.hasTemplateArguments())
+ return llvm::createStringError(
+ "Template arguments range for '%s' is invalid.", demangled_name.data());
- return demangled_name.slice(info.BasenameRange.second,
- info.ArgumentsRange.first);
+ return demangled_name.slice(info.TemplateArgumentsRange.first,
+ info.TemplateArgumentsRange.second);
}
static llvm::Expected<llvm::StringRef>