Index: source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp =================================================================== --- source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp +++ source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp @@ -419,60 +419,46 @@ .SetHideItemNames(false); #ifndef LLDB_DISABLE_PYTHON - lldb::TypeSummaryImplSP std_string_summary_sp(new CXXFunctionSummaryFormat( - stl_summary_flags, - lldb_private::formatters::LibcxxStringSummaryProviderASCII, - "std::string summary provider")); - lldb::TypeSummaryImplSP std_stringu16_summary_sp(new CXXFunctionSummaryFormat( - stl_summary_flags, - lldb_private::formatters::LibcxxStringSummaryProviderUTF16, - "std::u16string summary provider")); - lldb::TypeSummaryImplSP std_stringu32_summary_sp(new CXXFunctionSummaryFormat( - stl_summary_flags, - lldb_private::formatters::LibcxxStringSummaryProviderUTF32, - "std::u32string summary provider")); - lldb::TypeSummaryImplSP std_wstring_summary_sp(new CXXFunctionSummaryFormat( - stl_summary_flags, lldb_private::formatters::LibcxxWStringSummaryProvider, - "std::wstring summary provider")); + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxStringSummaryProviderASCII, + "std::string summary provider", + ConstString("^std::__.+::string$"), stl_summary_flags, true); + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxStringSummaryProviderASCII, + "std::string summary provider", + ConstString("^std::__.+::basic_string, " + "std::__.+::allocator >$"), + stl_summary_flags, true); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__1::string"), std_string_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__ndk1::string"), std_string_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__1::basic_string, " - "std::__1::allocator >"), - std_string_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString( - "std::__1::basic_string, " - "std::__1::allocator >"), - std_stringu16_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString( - "std::__1::basic_string, " - "std::__1::allocator >"), - std_stringu32_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__ndk1::basic_string, " - "std::__ndk1::allocator >"), - std_string_summary_sp); + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxStringSummaryProviderUTF16, + "std::u16string summary provider", + ConstString( + "^std::__.+::basic_string, " + "std::__.+::allocator >$"), + stl_summary_flags, true); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__1::wstring"), std_wstring_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__ndk1::wstring"), std_wstring_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__1::basic_string, " - "std::__1::allocator >"), - std_wstring_summary_sp); - cpp_category_sp->GetTypeSummariesContainer()->Add( - ConstString("std::__ndk1::basic_string, " - "std::__ndk1::allocator >"), - std_wstring_summary_sp); + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxStringSummaryProviderUTF32, + "std::u32string summary provider", + ConstString( + "^std::__.+::basic_string, " + "std::__.+::allocator >$"), + stl_summary_flags, true); + + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxWStringSummaryProvider, + "std::wstring summary provider", + ConstString("^std::__.+::wstring$"), + stl_summary_flags, true); + AddCXXSummary(cpp_category_sp, + lldb_private::formatters::LibcxxWStringSummaryProvider, + "std::wstring summary provider", + ConstString("^std::__.+::basic_string, " + "std::__.+::allocator >$"), + stl_summary_flags, true); SyntheticChildren::Flags stl_synth_flags; stl_synth_flags.SetCascades(true).SetSkipPointers(false).SetSkipReferences( @@ -484,54 +470,54 @@ cpp_category_sp, lldb_private::formatters::LibcxxBitsetSyntheticFrontEndCreator, "libc++ std::bitset synthetic children", - ConstString("^std::__(ndk)?1::bitset<.+>(( )?&)?$"), stl_deref_flags, + ConstString("^std::__.+::bitset<.+>(( )?&)?$"), stl_deref_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator, "libc++ std::vector synthetic children", - ConstString("^std::__(ndk)?1::vector<.+>(( )?&)?$"), stl_deref_flags, + ConstString("^std::__.+::vector<.+>(( )?&)?$"), stl_deref_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdForwardListSyntheticFrontEndCreator, "libc++ std::forward_list synthetic children", - ConstString("^std::__(ndk)?1::forward_list<.+>(( )?&)?$"), + ConstString("^std::__.+::forward_list<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdListSyntheticFrontEndCreator, "libc++ std::list synthetic children", - ConstString("^std::__(ndk)?1::list<.+>(( )?&)?$"), stl_synth_flags, true); + ConstString("^std::__.+::list<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator, "libc++ std::map synthetic children", - ConstString("^std::__(ndk)?1::map<.+> >(( )?&)?$"), stl_synth_flags, + ConstString("^std::__.+::map<.+> >(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator, "libc++ std::set synthetic children", - ConstString("^std::__(ndk)?1::set<.+> >(( )?&)?$"), stl_deref_flags, + ConstString("^std::__.+::set<.+> >(( )?&)?$"), stl_deref_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator, "libc++ std::multiset synthetic children", - ConstString("^std::__(ndk)?1::multiset<.+> >(( )?&)?$"), stl_deref_flags, + ConstString("^std::__.+::multiset<.+> >(( )?&)?$"), stl_deref_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator, "libc++ std::multimap synthetic children", - ConstString("^std::__(ndk)?1::multimap<.+> >(( )?&)?$"), stl_synth_flags, + ConstString("^std::__.+::multimap<.+> >(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEndCreator, "libc++ std::unordered containers synthetic children", - ConstString("^(std::__(ndk)?1::)unordered_(multi)?(map|set)<.+> >$"), + ConstString("^(std::__.+::)unordered_(multi)?(map|set)<.+> >$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, @@ -541,29 +527,29 @@ true); AddCXXSynthetic(cpp_category_sp, LibcxxQueueFrontEndCreator, "libc++ std::queue synthetic children", - ConstString("^std::__(ndk)?1::queue<.+>(( )?&)?$"), + ConstString("^std::__.+::queue<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic(cpp_category_sp, LibcxxTupleFrontEndCreator, "libc++ std::tuple synthetic children", - ConstString("^std::__(ndk)?1::tuple<.*>(( )?&)?$"), stl_synth_flags, + ConstString("^std::__.+::tuple<.*>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic(cpp_category_sp, LibcxxOptionalFrontEndCreator, "libc++ std::optional synthetic children", - ConstString("^std::__(ndk)?1::optional<.+>(( )?&)?$"), + ConstString("^std::__.+::optional<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic(cpp_category_sp, LibcxxVariantFrontEndCreator, "libc++ std::variant synthetic children", - ConstString("^std::__(ndk)?1::variant<.+>(( )?&)?$"), + ConstString("^std::__.+::variant<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxAtomicSyntheticFrontEndCreator, "libc++ std::atomic synthetic children", - ConstString("^std::__(ndk)?1::atomic<.+>$"), stl_synth_flags, true); + ConstString("^std::__.+::atomic<.+>$"), stl_synth_flags, true); cpp_category_sp->GetRegexTypeSyntheticsContainer()->Add( RegularExpressionSP(new RegularExpression( - llvm::StringRef("^(std::__(ndk)?1::)deque<.+>(( )?&)?$"))), + llvm::StringRef("^(std::__.+::)deque<.+>(( )?&)?$"))), SyntheticChildrenSP(new ScriptedSyntheticChildren( stl_synth_flags, "lldb.formatters.cpp.libcxx.stddeque_SynthProvider"))); @@ -572,94 +558,94 @@ cpp_category_sp, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator, "shared_ptr synthetic children", - ConstString("^(std::__(ndk)?1::)shared_ptr<.+>(( )?&)?$"), + ConstString("^(std::__.+::)shared_ptr<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator, "weak_ptr synthetic children", - ConstString("^(std::__(ndk)?1::)weak_ptr<.+>(( )?&)?$"), stl_synth_flags, + ConstString("^(std::__.+::)weak_ptr<.+>(( )?&)?$"), stl_synth_flags, true); AddCXXSummary( cpp_category_sp, lldb_private::formatters::LibcxxFunctionSummaryProvider, "libc++ std::function summary provider", - ConstString("^std::__(ndk)?1::function<.+>$"), stl_summary_flags, true); + ConstString("^std::__.+::function<.+>$"), stl_summary_flags, true); stl_summary_flags.SetDontShowChildren(false); stl_summary_flags.SetSkipPointers(false); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::bitset summary provider", - ConstString("^std::__(ndk)?1::bitset<.+>(( )?&)?$"), + ConstString("^std::__.+::bitset<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::vector summary provider", - ConstString("^std::__(ndk)?1::vector<.+>(( )?&)?$"), + ConstString("^std::__.+::vector<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::list summary provider", - ConstString("^std::__(ndk)?1::forward_list<.+>(( )?&)?$"), + ConstString("^std::__.+::forward_list<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::list summary provider", - ConstString("^std::__(ndk)?1::list<.+>(( )?&)?$"), + ConstString("^std::__.+::list<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::map summary provider", - ConstString("^std::__(ndk)?1::map<.+>(( )?&)?$"), + ConstString("^std::__.+::map<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::deque summary provider", - ConstString("^std::__(ndk)?1::deque<.+>(( )?&)?$"), + ConstString("^std::__.+::deque<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::queue summary provider", - ConstString("^std::__(ndk)?1::queue<.+>(( )?&)?$"), + ConstString("^std::__.+::queue<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::set summary provider", - ConstString("^std::__(ndk)?1::set<.+>(( )?&)?$"), + ConstString("^std::__.+::set<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::multiset summary provider", - ConstString("^std::__(ndk)?1::multiset<.+>(( )?&)?$"), + ConstString("^std::__.+::multiset<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::multimap summary provider", - ConstString("^std::__(ndk)?1::multimap<.+>(( )?&)?$"), + ConstString("^std::__.+::multimap<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary( cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider, "libc++ std::unordered containers summary provider", - ConstString("^(std::__(ndk)?1::)unordered_(multi)?(map|set)<.+> >$"), + ConstString("^(std::__.+::)unordered_(multi)?(map|set)<.+> >$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, LibcxxContainerSummaryProvider, "libc++ std::tuple summary provider", - ConstString("^std::__(ndk)?1::tuple<.*>(( )?&)?$"), stl_summary_flags, + ConstString("^std::__.+::tuple<.*>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary( cpp_category_sp, lldb_private::formatters::LibCxxAtomicSummaryProvider, "libc++ std::atomic summary provider", - ConstString("^std::__(ndk)?1::atomic<.+>$"), stl_summary_flags, true); + ConstString("^std::__.+::atomic<.+>$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxOptionalSummaryProvider, "libc++ std::optional summary provider", - ConstString("^std::__(ndk)?1::optional<.+>(( )?&)?$"), + ConstString("^std::__.+::optional<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxVariantSummaryProvider, "libc++ std::variant summary provider", - ConstString("^std::__(ndk)?1::variant<.+>(( )?&)?$"), + ConstString("^std::__.+::variant<.+>(( )?&)?$"), stl_summary_flags, true); stl_summary_flags.SetSkipPointers(true); @@ -667,25 +653,25 @@ AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxSmartPointerSummaryProvider, "libc++ std::shared_ptr summary provider", - ConstString("^std::__(ndk)?1::shared_ptr<.+>(( )?&)?$"), + ConstString("^std::__.+::shared_ptr<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSummary(cpp_category_sp, lldb_private::formatters::LibcxxSmartPointerSummaryProvider, "libc++ std::weak_ptr summary provider", - ConstString("^std::__(ndk)?1::weak_ptr<.+>(( )?&)?$"), + ConstString("^std::__.+::weak_ptr<.+>(( )?&)?$"), stl_summary_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibCxxVectorIteratorSyntheticFrontEndCreator, "std::vector iterator synthetic children", - ConstString("^std::__(ndk)?1::__wrap_iter<.+>$"), stl_synth_flags, true); + ConstString("^std::__.+::__wrap_iter<.+>$"), stl_synth_flags, true); AddCXXSynthetic( cpp_category_sp, lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEndCreator, "std::map iterator synthetic children", - ConstString("^std::__(ndk)?1::__map_iterator<.+>$"), stl_synth_flags, + ConstString("^std::__.+::__map_iterator<.+>$"), stl_synth_flags, true); #endif }