[Lldb-commits] [lldb] [lldb] add TemplateRange and NameQualifiersRange to DemangledNameInfo (PR #150999)
Charles Zablit via lldb-commits
lldb-commits at lists.llvm.org
Mon Aug 4 09:48:33 PDT 2025
================
@@ -92,6 +92,10 @@ void TrackingOutputBuffer::finalizeStart() {
if (NameInfo.BasenameRange.second == 0)
NameInfo.BasenameRange.second = getCurrentPosition();
+ if (NameInfo.BasenameRange.second != NameInfo.ArgumentsRange.first)
+ NameInfo.TemplateArgumentsRange = {NameInfo.BasenameRange.second,
+ NameInfo.ArgumentsRange.first};
----------------
charles-zablit wrote:
Oh sorry, yes:
```diff
diff --git a/lldb/source/Core/DemangledNameInfo.cpp b/lldb/source/Core/DemangledNameInfo.cpp
index 95db524fba2d..021016d7c072 100644
--- a/lldb/source/Core/DemangledNameInfo.cpp
+++ b/lldb/source/Core/DemangledNameInfo.cpp
@@ -80,6 +80,20 @@ void TrackingOutputBuffer::finalizeQualifiersEnd() {
NameInfo.QualifiersRange.second = getCurrentPosition();
}
+void TrackingOutputBuffer::updateTemplateArgumentsStart() {
+ if (!shouldTrack())
+ return;
+
+ NameInfo.TemplateArgumentsRange.first = getCurrentPosition();
+}
+
+void TrackingOutputBuffer::updateTemplateArgumentsEnd() {
+ if (!shouldTrack())
+ return;
+
+ NameInfo.TemplateArgumentsRange.second = getCurrentPosition();
+}
+
void TrackingOutputBuffer::finalizeStart() {
if (!shouldTrack())
return;
@@ -92,9 +106,9 @@ void TrackingOutputBuffer::finalizeStart() {
if (NameInfo.BasenameRange.second == 0)
NameInfo.BasenameRange.second = getCurrentPosition();
- if (NameInfo.BasenameRange.second != NameInfo.ArgumentsRange.first)
- NameInfo.TemplateArgumentsRange = {NameInfo.BasenameRange.second,
- NameInfo.ArgumentsRange.first};
+ // if (NameInfo.BasenameRange.second != NameInfo.ArgumentsRange.first)
+ // NameInfo.TemplateArgumentsRange = {NameInfo.BasenameRange.second,
+ // NameInfo.ArgumentsRange.first};
assert(!shouldTrack());
assert(canFinalize());
@@ -228,7 +242,9 @@ void TrackingOutputBuffer::printLeftImpl(const NestedName &N) {
void TrackingOutputBuffer::printLeftImpl(const NameWithTemplateArgs &N) {
N.Name->print(*this);
updateBasenameEnd();
+ updateTemplateArgumentsStart();
N.TemplateArgs->print(*this);
+ updateTemplateArgumentsEnd();
}
} // namespace lldb_private
```
https://github.com/llvm/llvm-project/pull/150999
More information about the lldb-commits
mailing list