aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp')
-rw-r--r--contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp406
1 files changed, 186 insertions, 220 deletions
diff --git a/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp b/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
index 1b152c16eac2..3d709e3d6759 100644
--- a/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
+++ b/contrib/llvm-project/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
@@ -648,95 +648,91 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
- "std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::string$"), stl_summary_flags,
- true);
+ "std::string summary provider", "^std::__[[:alnum:]]+::string$",
+ stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
"std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<char, "
- "std::__[[:alnum:]]+::char_traits<char>, "
- "std::__[[:alnum:]]+::allocator<char> >$"),
+ "^std::__[[:alnum:]]+::basic_string<char, "
+ "std::__[[:alnum:]]+::char_traits<char>, "
+ "std::__[[:alnum:]]+::allocator<char> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderASCII,
"std::string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<unsigned char, "
- "std::__[[:alnum:]]+::char_traits<unsigned char>, "
- "std::__[[:alnum:]]+::allocator<unsigned char> >$"),
+ "^std::__[[:alnum:]]+::basic_string<unsigned char, "
+ "std::__[[:alnum:]]+::char_traits<unsigned char>, "
+ "std::__[[:alnum:]]+::allocator<unsigned char> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderUTF16,
"std::u16string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<char16_t, "
- "std::__[[:alnum:]]+::char_traits<char16_t>, "
- "std::__[[:alnum:]]+::allocator<char16_t> >$"),
+ "^std::__[[:alnum:]]+::basic_string<char16_t, "
+ "std::__[[:alnum:]]+::char_traits<char16_t>, "
+ "std::__[[:alnum:]]+::allocator<char16_t> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringSummaryProviderUTF32,
"std::u32string summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<char32_t, "
- "std::__[[:alnum:]]+::char_traits<char32_t>, "
- "std::__[[:alnum:]]+::allocator<char32_t> >$"),
+ "^std::__[[:alnum:]]+::basic_string<char32_t, "
+ "std::__[[:alnum:]]+::char_traits<char32_t>, "
+ "std::__[[:alnum:]]+::allocator<char32_t> >$",
stl_summary_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::LibcxxWStringSummaryProvider,
- "std::wstring summary provider",
- ConstString("^std::__[[:alnum:]]+::wstring$"), stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxWStringSummaryProvider,
"std::wstring summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string<wchar_t, "
- "std::__[[:alnum:]]+::char_traits<wchar_t>, "
- "std::__[[:alnum:]]+::allocator<wchar_t> >$"),
+ "^std::__[[:alnum:]]+::wstring$", stl_summary_flags, true);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::LibcxxWStringSummaryProvider,
+ "std::wstring summary provider",
+ "^std::__[[:alnum:]]+::basic_string<wchar_t, "
+ "std::__[[:alnum:]]+::char_traits<wchar_t>, "
+ "std::__[[:alnum:]]+::allocator<wchar_t> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringViewSummaryProviderASCII,
"std::string_view summary provider",
- ConstString("^std::__[[:alnum:]]+::string_view$"),
+ "^std::__[[:alnum:]]+::string_view$", stl_summary_flags, true);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::LibcxxStringViewSummaryProviderASCII,
+ "std::string_view summary provider",
+ "^std::__[[:alnum:]]+::basic_string_view<char, "
+ "std::__[[:alnum:]]+::char_traits<char> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringViewSummaryProviderASCII,
"std::string_view summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string_view<char, "
- "std::__[[:alnum:]]+::char_traits<char> >$"),
+ "^std::__[[:alnum:]]+::basic_string_view<unsigned char, "
+ "std::__[[:alnum:]]+::char_traits<unsigned char> >$",
stl_summary_flags, true);
- AddCXXSummary(
- cpp_category_sp,
- lldb_private::formatters::LibcxxStringViewSummaryProviderASCII,
- "std::string_view summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string_view<unsigned char, "
- "std::__[[:alnum:]]+::char_traits<unsigned char> >$"),
- stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringViewSummaryProviderUTF16,
"std::u16string_view summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string_view<char16_t, "
- "std::__[[:alnum:]]+::char_traits<char16_t> >$"),
+ "^std::__[[:alnum:]]+::basic_string_view<char16_t, "
+ "std::__[[:alnum:]]+::char_traits<char16_t> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxStringViewSummaryProviderUTF32,
"std::u32string_view summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string_view<char32_t, "
- "std::__[[:alnum:]]+::char_traits<char32_t> >$"),
+ "^std::__[[:alnum:]]+::basic_string_view<char32_t, "
+ "std::__[[:alnum:]]+::char_traits<char32_t> >$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxWStringViewSummaryProvider,
"std::wstring_view summary provider",
- ConstString("^std::__[[:alnum:]]+::wstring_view$"),
- stl_summary_flags, true);
+ "^std::__[[:alnum:]]+::wstring_view$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxWStringViewSummaryProvider,
"std::wstring_view summary provider",
- ConstString("^std::__[[:alnum:]]+::basic_string_view<wchar_t, "
- "std::__[[:alnum:]]+::char_traits<wchar_t> >$"),
+ "^std::__[[:alnum:]]+::basic_string_view<wchar_t, "
+ "std::__[[:alnum:]]+::char_traits<wchar_t> >$",
stl_summary_flags, true);
SyntheticChildren::Flags stl_synth_flags;
@@ -749,98 +745,89 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
cpp_category_sp,
lldb_private::formatters::LibcxxBitsetSyntheticFrontEndCreator,
"libc++ std::bitset synthetic children",
- ConstString("^std::__[[:alnum:]]+::bitset<.+>(( )?&)?$"), stl_deref_flags,
- true);
+ "^std::__[[:alnum:]]+::bitset<.+>(( )?&)?$", stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator,
"libc++ std::vector synthetic children",
- ConstString("^std::__[[:alnum:]]+::vector<.+>(( )?&)?$"), stl_deref_flags,
- true);
+ "^std::__[[:alnum:]]+::vector<.+>(( )?&)?$", stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdForwardListSyntheticFrontEndCreator,
"libc++ std::forward_list synthetic children",
- ConstString("^std::__[[:alnum:]]+::forward_list<.+>(( )?&)?$"),
- stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::forward_list<.+>(( )?&)?$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdListSyntheticFrontEndCreator,
"libc++ std::list synthetic children",
// A POSIX variant of: "^std::__(?!cxx11:)[[:alnum:]]+::list<.+>(( )?&)?$"
// so that it does not clash with: "^std::(__cxx11::)?list<.+>(( )?&)?$"
- ConstString("^std::__([A-Zabd-z0-9]|cx?[A-Za-wyz0-9]|cxx1?[A-Za-z02-9]|"
- "cxx11[[:alnum:]])[[:alnum:]]*::list<.+>(( )?&)?$"),
+ "^std::__([A-Zabd-z0-9]|cx?[A-Za-wyz0-9]|cxx1?[A-Za-z02-9]|"
+ "cxx11[[:alnum:]])[[:alnum:]]*::list<.+>(( )?&)?$",
stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator,
"libc++ std::map synthetic children",
- ConstString("^std::__[[:alnum:]]+::map<.+> >(( )?&)?$"), stl_synth_flags,
- true);
+ "^std::__[[:alnum:]]+::map<.+> >(( )?&)?$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator,
"libc++ std::set synthetic children",
- ConstString("^std::__[[:alnum:]]+::set<.+> >(( )?&)?$"), stl_deref_flags,
- true);
+ "^std::__[[:alnum:]]+::set<.+> >(( )?&)?$", stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator,
"libc++ std::multiset synthetic children",
- ConstString("^std::__[[:alnum:]]+::multiset<.+> >(( )?&)?$"),
- stl_deref_flags, true);
+ "^std::__[[:alnum:]]+::multiset<.+> >(( )?&)?$", stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator,
"libc++ std::multimap synthetic children",
- ConstString("^std::__[[:alnum:]]+::multimap<.+> >(( )?&)?$"),
- stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::multimap<.+> >(( )?&)?$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdUnorderedMapSyntheticFrontEndCreator,
"libc++ std::unordered containers synthetic children",
- ConstString("^(std::__[[:alnum:]]+::)unordered_(multi)?(map|set)<.+> >$"),
+ "^(std::__[[:alnum:]]+::)unordered_(multi)?(map|set)<.+> >$",
stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxInitializerListSyntheticFrontEndCreator,
"libc++ std::initializer_list synthetic children",
- ConstString("^std::initializer_list<.+>(( )?&)?$"), stl_synth_flags,
- true);
+ "^std::initializer_list<.+>(( )?&)?$", stl_synth_flags, true);
AddCXXSynthetic(cpp_category_sp, LibcxxQueueFrontEndCreator,
"libc++ std::queue synthetic children",
- ConstString("^std::__[[:alnum:]]+::queue<.+>(( )?&)?$"),
- stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::queue<.+>(( )?&)?$", stl_synth_flags,
+ true);
AddCXXSynthetic(cpp_category_sp, LibcxxTupleFrontEndCreator,
"libc++ std::tuple synthetic children",
- ConstString("^std::__[[:alnum:]]+::tuple<.*>(( )?&)?$"),
- stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::tuple<.*>(( )?&)?$", stl_synth_flags,
+ true);
AddCXXSynthetic(cpp_category_sp, LibcxxOptionalSyntheticFrontEndCreator,
"libc++ std::optional synthetic children",
- ConstString("^std::__[[:alnum:]]+::optional<.+>(( )?&)?$"),
+ "^std::__[[:alnum:]]+::optional<.+>(( )?&)?$",
stl_synth_flags, true);
AddCXXSynthetic(cpp_category_sp, LibcxxVariantFrontEndCreator,
"libc++ std::variant synthetic children",
- ConstString("^std::__[[:alnum:]]+::variant<.+>(( )?&)?$"),
- stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::variant<.+>(( )?&)?$", stl_synth_flags,
+ true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxAtomicSyntheticFrontEndCreator,
"libc++ std::atomic synthetic children",
- ConstString("^std::__[[:alnum:]]+::atomic<.+>$"), stl_synth_flags, true);
+ "^std::__[[:alnum:]]+::atomic<.+>$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdSpanSyntheticFrontEndCreator,
"libc++ std::span synthetic children",
- ConstString("^std::__[[:alnum:]]+::span<.+>(( )?&)?$"), stl_deref_flags,
- true);
+ "^std::__[[:alnum:]]+::span<.+>(( )?&)?$", stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxStdRangesRefViewSyntheticFrontEndCreator,
"libc++ std::ranges::ref_view synthetic children",
- ConstString("^std::__[[:alnum:]]+::ranges::ref_view<.+>(( )?&)?$"),
- stl_deref_flags, true);
+ "^std::__[[:alnum:]]+::ranges::ref_view<.+>(( )?&)?$", stl_deref_flags,
+ true);
cpp_category_sp->AddTypeSynthetic(
"^(std::__[[:alnum:]]+::)deque<.+>(( )?&)?$", eFormatterMatchRegex,
@@ -852,11 +839,10 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
cpp_category_sp,
lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator,
"shared_ptr synthetic children",
- ConstString("^(std::__[[:alnum:]]+::)shared_ptr<.+>(( )?&)?$"),
- stl_synth_flags, true);
+ "^(std::__[[:alnum:]]+::)shared_ptr<.+>(( )?&)?$", stl_synth_flags, true);
- ConstString libcxx_std_unique_ptr_regex(
- "^std::__[[:alnum:]]+::unique_ptr<.+>(( )?&)?$");
+ static constexpr const char *const libcxx_std_unique_ptr_regex =
+ "^std::__[[:alnum:]]+::unique_ptr<.+>(( )?&)?$";
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibcxxUniquePtrSyntheticFrontEndCreator,
@@ -867,16 +853,14 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
cpp_category_sp,
lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator,
"weak_ptr synthetic children",
- ConstString("^(std::__[[:alnum:]]+::)weak_ptr<.+>(( )?&)?$"),
- stl_synth_flags, true);
+ "^(std::__[[:alnum:]]+::)weak_ptr<.+>(( )?&)?$", stl_synth_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxFunctionSummaryProvider,
"libc++ std::function summary provider",
- ConstString("^std::__[[:alnum:]]+::function<.+>$"),
- stl_summary_flags, true);
+ "^std::__[[:alnum:]]+::function<.+>$", stl_summary_flags, true);
- ConstString libcxx_std_coroutine_handle_regex(
- "^std::__[[:alnum:]]+::coroutine_handle<.+>(( )?&)?$");
+ static constexpr const char *const libcxx_std_coroutine_handle_regex =
+ "^std::__[[:alnum:]]+::coroutine_handle<.+>(( )?&)?$";
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEndCreator,
@@ -885,100 +869,88 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
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::__[[:alnum:]]+::bitset<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::vector summary provider",
- ConstString("^std::__[[:alnum:]]+::vector<.+>(( )?&)?$"),
- stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::bitset summary provider",
+ "^std::__[[:alnum:]]+::bitset<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::vector summary provider",
+ "^std::__[[:alnum:]]+::vector<.+>(( )?&)?$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxContainerSummaryProvider,
"libc++ std::list summary provider",
- ConstString("^std::__[[:alnum:]]+::forward_list<.+>(( )?&)?$"),
+ "^std::__[[:alnum:]]+::forward_list<.+>(( )?&)?$",
stl_summary_flags, true);
AddCXXSummary(
cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
"libc++ std::list summary provider",
// A POSIX variant of: "^std::__(?!cxx11:)[[:alnum:]]+::list<.+>(( )?&)?$"
// so that it does not clash with: "^std::(__cxx11::)?list<.+>(( )?&)?$"
- ConstString("^std::__([A-Zabd-z0-9]|cx?[A-Za-wyz0-9]|cxx1?[A-Za-z02-9]|"
- "cxx11[[:alnum:]])[[:alnum:]]*::list<.+>(( )?&)?$"),
+ "^std::__([A-Zabd-z0-9]|cx?[A-Za-wyz0-9]|cxx1?[A-Za-z02-9]|"
+ "cxx11[[:alnum:]])[[:alnum:]]*::list<.+>(( )?&)?$",
stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::map summary provider",
+ "^std::__[[:alnum:]]+::map<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::deque summary provider",
+ "^std::__[[:alnum:]]+::deque<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::queue summary provider",
+ "^std::__[[:alnum:]]+::queue<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::set summary provider",
+ "^std::__[[:alnum:]]+::set<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::multiset summary provider",
+ "^std::__[[:alnum:]]+::multiset<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::multimap summary provider",
+ "^std::__[[:alnum:]]+::multimap<.+>(( )?&)?$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::map summary provider",
- ConstString("^std::__[[:alnum:]]+::map<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::deque summary provider",
- ConstString("^std::__[[:alnum:]]+::deque<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::queue summary provider",
- ConstString("^std::__[[:alnum:]]+::queue<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::set summary provider",
- ConstString("^std::__[[:alnum:]]+::set<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::multiset summary provider",
- ConstString("^std::__[[:alnum:]]+::multiset<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::multimap summary provider",
- ConstString("^std::__[[:alnum:]]+::multimap<.+>(( )?&)?$"),
+ "libc++ std::unordered containers summary provider",
+ "^(std::__[[:alnum:]]+::)unordered_(multi)?(map|set)<.+> >$",
stl_summary_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::unordered containers summary provider",
- ConstString("^(std::__[[:alnum:]]+::)unordered_(multi)?(map|set)<.+> >$"),
- stl_summary_flags, true);
AddCXXSummary(cpp_category_sp, LibcxxContainerSummaryProvider,
"libc++ std::tuple summary provider",
- ConstString("^std::__[[:alnum:]]+::tuple<.*>(( )?&)?$"),
- stl_summary_flags, true);
+ "^std::__[[:alnum:]]+::tuple<.*>(( )?&)?$", stl_summary_flags,
+ true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibCxxAtomicSummaryProvider,
"libc++ std::atomic summary provider",
- ConstString("^std::__[[:alnum:]]+::atomic<.+>$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::GenericOptionalSummaryProvider,
- "libc++ std::optional summary provider",
- ConstString("^std::__[[:alnum:]]+::optional<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxVariantSummaryProvider,
- "libc++ std::variant summary provider",
- ConstString("^std::__[[:alnum:]]+::variant<.+>(( )?&)?$"),
- stl_summary_flags, true);
- AddCXXSummary(cpp_category_sp,
- lldb_private::formatters::LibcxxContainerSummaryProvider,
- "libc++ std::span summary provider",
- ConstString("^std::__[[:alnum:]]+::span<.+>(( )?&)?$"),
- stl_summary_flags, true);
+ "^std::__[[:alnum:]]+::atomic<.+>$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::GenericOptionalSummaryProvider,
+ "libc++ std::optional summary provider",
+ "^std::__[[:alnum:]]+::optional<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxVariantSummaryProvider,
+ "libc++ std::variant summary provider",
+ "^std::__[[:alnum:]]+::variant<.+>(( )?&)?$", stl_summary_flags, true);
+ AddCXXSummary(
+ cpp_category_sp, lldb_private::formatters::LibcxxContainerSummaryProvider,
+ "libc++ std::span summary provider",
+ "^std::__[[:alnum:]]+::span<.+>(( )?&)?$", stl_summary_flags, true);
stl_summary_flags.SetSkipPointers(true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxSmartPointerSummaryProvider,
"libc++ std::shared_ptr summary provider",
- ConstString("^std::__[[:alnum:]]+::shared_ptr<.+>(( )?&)?$"),
+ "^std::__[[:alnum:]]+::shared_ptr<.+>(( )?&)?$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxSmartPointerSummaryProvider,
"libc++ std::weak_ptr summary provider",
- ConstString("^std::__[[:alnum:]]+::weak_ptr<.+>(( )?&)?$"),
+ "^std::__[[:alnum:]]+::weak_ptr<.+>(( )?&)?$",
stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibcxxUniquePointerSummaryProvider,
@@ -994,23 +966,21 @@ static void LoadLibCxxFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
cpp_category_sp,
lldb_private::formatters::LibCxxVectorIteratorSyntheticFrontEndCreator,
"std::vector iterator synthetic children",
- ConstString("^std::__[[:alnum:]]+::__wrap_iter<.+>$"), stl_synth_flags,
- true);
+ "^std::__[[:alnum:]]+::__wrap_iter<.+>$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibCxxMapIteratorSyntheticFrontEndCreator,
"std::map iterator synthetic children",
- ConstString("^std::__[[:alnum:]]+::__map_(const_)?iterator<.+>$"), stl_synth_flags,
+ "^std::__[[:alnum:]]+::__map_(const_)?iterator<.+>$", stl_synth_flags,
true);
- AddCXXSynthetic(
- cpp_category_sp,
- lldb_private::formatters::
- LibCxxUnorderedMapIteratorSyntheticFrontEndCreator,
- "std::unordered_map iterator synthetic children",
- ConstString("^std::__[[:alnum:]]+::__hash_map_(const_)?iterator<.+>$"),
- stl_synth_flags, true);
+ AddCXXSynthetic(cpp_category_sp,
+ lldb_private::formatters::
+ LibCxxUnorderedMapIteratorSyntheticFrontEndCreator,
+ "std::unordered_map iterator synthetic children",
+ "^std::__[[:alnum:]]+::__hash_map_(const_)?iterator<.+>$",
+ stl_synth_flags, true);
}
static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
@@ -1183,37 +1153,37 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
cpp_category_sp,
lldb_private::formatters::LibStdcppVectorIteratorSyntheticFrontEndCreator,
"std::vector iterator synthetic children",
- ConstString("^__gnu_cxx::__normal_iterator<.+>$"), stl_synth_flags, true);
+ "^__gnu_cxx::__normal_iterator<.+>$", stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibstdcppMapIteratorSyntheticFrontEndCreator,
- "std::map iterator synthetic children",
- ConstString("^std::_Rb_tree_iterator<.+>$"), stl_synth_flags, true);
+ "std::map iterator synthetic children", "^std::_Rb_tree_iterator<.+>$",
+ stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppUniquePtrSyntheticFrontEndCreator,
- "std::unique_ptr synthetic children",
- ConstString("^std::unique_ptr<.+>(( )?&)?$"), stl_synth_flags, true);
+ "std::unique_ptr synthetic children", "^std::unique_ptr<.+>(( )?&)?$",
+ stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppSharedPtrSyntheticFrontEndCreator,
- "std::shared_ptr synthetic children",
- ConstString("^std::shared_ptr<.+>(( )?&)?$"), stl_synth_flags, true);
+ "std::shared_ptr synthetic children", "^std::shared_ptr<.+>(( )?&)?$",
+ stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppSharedPtrSyntheticFrontEndCreator,
- "std::weak_ptr synthetic children",
- ConstString("^std::weak_ptr<.+>(( )?&)?$"), stl_synth_flags, true);
+ "std::weak_ptr synthetic children", "^std::weak_ptr<.+>(( )?&)?$",
+ stl_synth_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppTupleSyntheticFrontEndCreator,
- "std::tuple synthetic children", ConstString("^std::tuple<.+>(( )?&)?$"),
+ "std::tuple synthetic children", "^std::tuple<.+>(( )?&)?$",
stl_synth_flags, true);
- ConstString libstdcpp_std_coroutine_handle_regex(
- "^std::coroutine_handle<.+>(( )?&)?$");
+ static constexpr const char *const libstdcpp_std_coroutine_handle_regex =
+ "^std::coroutine_handle<.+>(( )?&)?$";
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::StdlibCoroutineHandleSyntheticFrontEndCreator,
@@ -1223,38 +1193,35 @@ static void LoadLibStdcppFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppBitsetSyntheticFrontEndCreator,
- "std::bitset synthetic child", ConstString("^std::bitset<.+>(( )?&)?$"),
+ "std::bitset synthetic child", "^std::bitset<.+>(( )?&)?$",
stl_deref_flags, true);
AddCXXSynthetic(
cpp_category_sp,
lldb_private::formatters::LibStdcppOptionalSyntheticFrontEndCreator,
- "std::optional synthetic child",
- ConstString("^std::optional<.+>(( )?&)?$"), stl_deref_flags, true);
+ "std::optional synthetic child", "^std::optional<.+>(( )?&)?$",
+ stl_deref_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibStdcppUniquePointerSummaryProvider,
"libstdc++ std::unique_ptr summary provider",
- ConstString("^std::unique_ptr<.+>(( )?&)?$"), stl_summary_flags,
- true);
+ "^std::unique_ptr<.+>(( )?&)?$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibStdcppSmartPointerSummaryProvider,
"libstdc++ std::shared_ptr summary provider",
- ConstString("^std::shared_ptr<.+>(( )?&)?$"), stl_summary_flags,
- true);
+ "^std::shared_ptr<.+>(( )?&)?$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::LibStdcppSmartPointerSummaryProvider,
"libstdc++ std::weak_ptr summary provider",
- ConstString("^std::weak_ptr<.+>(( )?&)?$"), stl_summary_flags,
- true);
+ "^std::weak_ptr<.+>(( )?&)?$", stl_summary_flags, true);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::StdlibCoroutineHandleSummaryProvider,
"libstdc++ std::coroutine_handle summary provider",
libstdcpp_std_coroutine_handle_regex, stl_summary_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::GenericOptionalSummaryProvider,
- "libstd++ std::optional summary provider",
- ConstString("^std::optional<.+>(( )?&)?$"), stl_summary_flags, true);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::GenericOptionalSummaryProvider,
+ "libstd++ std::optional summary provider",
+ "^std::optional<.+>(( )?&)?$", stl_summary_flags, true);
}
static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
@@ -1279,41 +1246,41 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
.SetShowMembersOneLiner(false)
.SetHideItemNames(false);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char8StringSummaryProvider,
- "char8_t * summary provider", ConstString("char8_t *"), string_flags);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::Char8StringSummaryProvider,
- "char8_t [] summary provider",
- ConstString("char8_t ?\\[[0-9]+\\]"), string_array_flags, true);
+ "char8_t * summary provider", "char8_t *", string_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char8StringSummaryProvider,
+ "char8_t [] summary provider", "char8_t ?\\[[0-9]+\\]",
+ string_array_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char16StringSummaryProvider,
- "char16_t * summary provider", ConstString("char16_t *"), string_flags);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::Char16StringSummaryProvider,
- "char16_t [] summary provider",
- ConstString("char16_t ?\\[[0-9]+\\]"), string_array_flags, true);
+ "char16_t * summary provider", "char16_t *", string_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char16StringSummaryProvider,
+ "char16_t [] summary provider", "char16_t ?\\[[0-9]+\\]",
+ string_array_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char32StringSummaryProvider,
- "char32_t * summary provider", ConstString("char32_t *"), string_flags);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::Char32StringSummaryProvider,
- "char32_t [] summary provider",
- ConstString("char32_t ?\\[[0-9]+\\]"), string_array_flags, true);
+ "char32_t * summary provider", "char32_t *", string_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char32StringSummaryProvider,
+ "char32_t [] summary provider", "char32_t ?\\[[0-9]+\\]",
+ string_array_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::WCharStringSummaryProvider,
- "wchar_t * summary provider", ConstString("wchar_t *"), string_flags);
AddCXXSummary(cpp_category_sp,
lldb_private::formatters::WCharStringSummaryProvider,
- "wchar_t * summary provider",
- ConstString("wchar_t ?\\[[0-9]+\\]"), string_array_flags, true);
+ "wchar_t * summary provider", "wchar_t *", string_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::WCharStringSummaryProvider,
+ "wchar_t * summary provider", "wchar_t ?\\[[0-9]+\\]",
+ string_array_flags, true);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char16StringSummaryProvider,
- "unichar * summary provider", ConstString("unichar *"), string_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char16StringSummaryProvider,
+ "unichar * summary provider", "unichar *", string_flags);
TypeSummaryImpl::Flags widechar_flags;
widechar_flags.SetDontShowValue(true)
@@ -1325,21 +1292,19 @@ static void LoadSystemFormatters(lldb::TypeCategoryImplSP cpp_category_sp) {
.SetShowMembersOneLiner(false);
AddCXXSummary(cpp_category_sp, lldb_private::formatters::Char8SummaryProvider,
- "char8_t summary provider", ConstString("char8_t"),
- widechar_flags);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char16SummaryProvider,
- "char16_t summary provider", ConstString("char16_t"), widechar_flags);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char32SummaryProvider,
- "char32_t summary provider", ConstString("char32_t"), widechar_flags);
+ "char8_t summary provider", "char8_t", widechar_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char16SummaryProvider,
+ "char16_t summary provider", "char16_t", widechar_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char32SummaryProvider,
+ "char32_t summary provider", "char32_t", widechar_flags);
AddCXXSummary(cpp_category_sp, lldb_private::formatters::WCharSummaryProvider,
- "wchar_t summary provider", ConstString("wchar_t"),
- widechar_flags);
+ "wchar_t summary provider", "wchar_t", widechar_flags);
- AddCXXSummary(
- cpp_category_sp, lldb_private::formatters::Char16SummaryProvider,
- "unichar summary provider", ConstString("unichar"), widechar_flags);
+ AddCXXSummary(cpp_category_sp,
+ lldb_private::formatters::Char16SummaryProvider,
+ "unichar summary provider", "unichar", widechar_flags);
}
std::unique_ptr<Language::TypeScavenger> CPlusPlusLanguage::GetTypeScavenger() {
@@ -1390,7 +1355,8 @@ CPlusPlusLanguage::GetHardcodedSummaries() {
TypeSummaryImpl::Flags(),
lldb_private::formatters::CXXFunctionPointerSummaryProvider,
"Function pointer summary provider"));
- if (valobj.GetCompilerType().IsFunctionPointerType()) {
+ if (CompilerType CT = valobj.GetCompilerType();
+ CT.IsFunctionPointerType() || CT.IsMemberFunctionPointerType()) {
return formatter_sp;
}
return nullptr;
@@ -1499,7 +1465,7 @@ bool CPlusPlusLanguage::IsSourceFile(llvm::StringRef file_path) const {
const auto suffixes = {".cpp", ".cxx", ".c++", ".cc", ".c",
".h", ".hh", ".hpp", ".hxx", ".h++"};
for (auto suffix : suffixes) {
- if (file_path.endswith_insensitive(suffix))
+ if (file_path.ends_with_insensitive(suffix))
return true;
}