diff options
author | Charles Zablit <c_zablit@apple.com> | 2025-08-05 14:07:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-05 14:07:35 +0200 |
commit | ab6923b9b7a75de79ee06b400ae73771e130339e (patch) | |
tree | 51ee10d5d6efa6bce8dbdbdb963add53e90fdc2e /lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp | |
parent | 3cf072d4bfe2d038757ebe6197fdac9c9bd6a7ed (diff) | |
download | llvm-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.cpp | 10 |
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> |