================
@@ -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};
----------------
Michael137 wrote:

I wonder if we should modify `TrackingOutputBuffer::printLeftImpl(const 
NameWithTemplateArgs &N)` to track this instead? Would that be more 
accurate/future proof?

We could change it to:
```
updateTemplateArgumentsStart();
N.TemplateArgs->print(*this);
updateTemplateArgumentsEnd();
```
And inside `updateTemplateArgumentsStart` you would check `shouldTrack()`. I 
*think* that should work.

The benefit being that we won't get any surprises when the demangler decides to 
put things between the template arguments and function parameters.

Would this work with your planned Swift plugin changes?

https://github.com/llvm/llvm-project/pull/150999
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to