diff options
author | Enrico Granata <egranata@apple.com> | 2013-03-19 22:58:48 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2013-03-19 22:58:48 +0000 |
commit | 92373533a57375f14692f6ef3cb8586ec327ea1b (patch) | |
tree | 1445a57178cdf0ec53f329134bb1377b206e321b /lldb/source/DataFormatters/FormatManager.cpp | |
parent | 3f4fad92fee80ad64f306ca5cd7f1e875c940d08 (diff) | |
download | bcm5719-llvm-92373533a57375f14692f6ef3cb8586ec327ea1b.tar.gz bcm5719-llvm-92373533a57375f14692f6ef3cb8586ec327ea1b.zip |
The formatters for std::shared_ptr, std::weak_ptr, std::list, std::vector and std::map as provided by libc++ are now written in C++ instead of Python
std::deque is still in Python but is much less commonly used
llvm-svn: 177454
Diffstat (limited to 'lldb/source/DataFormatters/FormatManager.cpp')
-rw-r--r-- | lldb/source/DataFormatters/FormatManager.cpp | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp index e4937ceebcf..fa9ce499f37 100644 --- a/lldb/source/DataFormatters/FormatManager.cpp +++ b/lldb/source/DataFormatters/FormatManager.cpp @@ -623,24 +623,16 @@ FormatManager::LoadLibcxxFormatters() SyntheticChildren::Flags stl_synth_flags; stl_synth_flags.SetCascades(true).SetSkipPointers(false).SetSkipReferences(false); - libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^std::__1::vector<.+>(( )?&)?$")), - SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, - "lldb.formatters.cpp.libcxx.stdvector_SynthProvider"))); - libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^std::__1::list<.+>(( )?&)?$")), - SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, - "lldb.formatters.cpp.libcxx.stdlist_SynthProvider"))); - libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^std::__1::map<.+> >(( )?&)?$")), - SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, - "lldb.formatters.cpp.libcxx.stdmap_SynthProvider"))); + AddCXXSynthetic(libcxx_category_sp, lldb_private::formatters::LibcxxStdVectorSyntheticFrontEndCreator, "libc++ std::vector synthetic children", ConstString("^std::__1::vector<.+>(( )?&)?$"), stl_synth_flags, true); + AddCXXSynthetic(libcxx_category_sp, lldb_private::formatters::LibcxxStdListSyntheticFrontEndCreator, "libc++ std::list synthetic children", ConstString("^std::__1::list<.+>(( )?&)?$"), stl_synth_flags, true); + AddCXXSynthetic(libcxx_category_sp, lldb_private::formatters::LibcxxStdMapSyntheticFrontEndCreator, "libc++ std::map synthetic children", ConstString("^std::__1::map<.+> >(( )?&)?$"), stl_synth_flags, true); + libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^(std::__1::)deque<.+>(( )?&)?$")), SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, "lldb.formatters.cpp.libcxx.stddeque_SynthProvider"))); - libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^(std::__1::)shared_ptr<.+>(( )?&)?$")), - SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, - "lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider"))); - libcxx_category_sp->GetRegexSyntheticNavigator()->Add(RegularExpressionSP(new RegularExpression("^(std::__1::)weak_ptr<.+>(( )?&)?$")), - SyntheticChildrenSP(new ScriptedSyntheticChildren(stl_synth_flags, - "lldb.formatters.cpp.libcxx.stdsharedptr_SynthProvider"))); + + AddCXXSynthetic(libcxx_category_sp, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator, "shared_ptr synthetic children", ConstString("^(std::__1::)shared_ptr<.+>(( )?&)?$"), stl_synth_flags, true); + AddCXXSynthetic(libcxx_category_sp, lldb_private::formatters::LibcxxSharedPtrSyntheticFrontEndCreator, "weak_ptr synthetic children", ConstString("^(std::__1::)weak_ptr<.+>(( )?&)?$"), stl_synth_flags, true); stl_summary_flags.SetDontShowChildren(false);stl_summary_flags.SetSkipPointers(true); libcxx_category_sp->GetRegexSummaryNavigator()->Add(RegularExpressionSP(new RegularExpression("^std::__1::vector<.+>(( )?&)?$")), |