================ @@ -435,142 +435,202 @@ struct DemanglingPartsTestCase { DemanglingPartsTestCase g_demangling_parts_test_cases[] = { // clang-format off { "_ZNVKO3BarIN2ns3QuxIiEEE1CIPFi3FooIS_IiES6_EEE6methodIS6_EENS5_IT_SC_E5InnerIiEESD_SD_", - { /*.BasenameRange=*/{92, 98}, /*.ScopeRange=*/{36, 92}, /*.ArgumentsRange=*/{ 108, 158 }, - /*.QualifiersRange=*/{158, 176}, /*.PrefixRange=*/{0, 0}, /*.SuffixRange=*/{0, 0} }, + { + /*.BasenameRange=*/{92, 98}, /*.TemplateRange=*/{0, 0}, /*.ScopeRange=*/{36, 92}, ---------------- charles-zablit wrote:
> I'm concerned how setting the TemplateRange is done outside of the > TrackingOutputBuffer. Would it be difficult to track this inside the > demangler? In Swift, this is done inside the demangler. In C++, I tried, but was not able to figure out how to properly do it. I added calls to `updateTemplateArguments` around `N.TemplateArgs->print(*this);` in this function: ```cpp void TrackingOutputBuffer::printLeftImpl(const NameWithTemplateArgs &N) { N.Name->print(*this); updateBasenameEnd(); N.TemplateArgs->print(*this); } ``` However, even with different guards to not overwrite the starting ranges, this did not work. I ended up setting the `TemplateArgumentsRange` manually in the demangler. > Also, shouldn't the CPlusPlusLanguage plugin be changed to now use the > TemplateArgumentsRange to handle the ${function.template-arguments} variable? Yes, this is fixed now 👍 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