diff options
Diffstat (limited to 'lldb/source/Core')
| -rw-r--r-- | lldb/source/Core/DemangledNameInfo.cpp | 11 | ||||
| -rw-r--r-- | lldb/source/Core/Mangled.cpp | 3 |
2 files changed, 11 insertions, 3 deletions
diff --git a/lldb/source/Core/DemangledNameInfo.cpp b/lldb/source/Core/DemangledNameInfo.cpp index 00227f02bbff..76f8987c5149 100644 --- a/lldb/source/Core/DemangledNameInfo.cpp +++ b/lldb/source/Core/DemangledNameInfo.cpp @@ -111,6 +111,11 @@ void TrackingOutputBuffer::finalizeEnd() { if (NameInfo.ScopeRange.first > NameInfo.ScopeRange.second) NameInfo.ScopeRange.second = NameInfo.ScopeRange.first; NameInfo.BasenameRange.first = NameInfo.ScopeRange.second; + + // We call anything past the FunctionEncoding the "suffix". + // In practice this would be nodes like `DotSuffix` that wrap + // a FunctionEncoding. + NameInfo.SuffixRange.first = getCurrentPosition(); } ScopedOverride<unsigned> TrackingOutputBuffer::enterFunctionTypePrinting() { @@ -138,6 +143,9 @@ void TrackingOutputBuffer::printLeft(const Node &N) { default: OutputBuffer::printLeft(N); } + + // Keep updating suffix until we reach the end. + NameInfo.SuffixRange.second = getCurrentPosition(); } void TrackingOutputBuffer::printRight(const Node &N) { @@ -151,6 +159,9 @@ void TrackingOutputBuffer::printRight(const Node &N) { default: OutputBuffer::printRight(N); } + + // Keep updating suffix until we reach the end. + NameInfo.SuffixRange.second = getCurrentPosition(); } void TrackingOutputBuffer::printLeftImpl(const FunctionType &N) { diff --git a/lldb/source/Core/Mangled.cpp b/lldb/source/Core/Mangled.cpp index 3663f430111c..ce4db4e0daa8 100644 --- a/lldb/source/Core/Mangled.cpp +++ b/lldb/source/Core/Mangled.cpp @@ -172,9 +172,6 @@ GetItaniumDemangledStr(const char *M) { TrackingOutputBuffer OB(demangled_cstr, demangled_size); demangled_cstr = ipd.finishDemangle(&OB); - // TODO: we should set the SuffixRange inside the TrackingOutputBuffer. - OB.NameInfo.SuffixRange.first = OB.NameInfo.QualifiersRange.second; - OB.NameInfo.SuffixRange.second = std::string_view(OB).size(); info = std::move(OB.NameInfo); assert(demangled_cstr && |
