diff options
author | Tamas Berghammer <tberghammer@google.com> | 2016-05-05 11:18:21 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2016-05-05 11:18:21 +0000 |
commit | 2ff833060cb31bda76dc62137d2ff486c7c6fba7 (patch) | |
tree | e018b73999243a9cdd5d4571b0905a2ce43f47c9 /lldb/source/Plugins/Language/Java/JavaLanguage.cpp | |
parent | d00698f4c11b51477edc1a77afbe4305e1ecf4db (diff) | |
download | bcm5719-llvm-2ff833060cb31bda76dc62137d2ff486c7c6fba7.tar.gz bcm5719-llvm-2ff833060cb31bda76dc62137d2ff486c7c6fba7.zip |
Add support for displaying Java array types on Andorid
Differential revision: http://reviews.llvm.org/D19540
llvm-svn: 268622
Diffstat (limited to 'lldb/source/Plugins/Language/Java/JavaLanguage.cpp')
-rw-r--r-- | lldb/source/Plugins/Language/Java/JavaLanguage.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Language/Java/JavaLanguage.cpp b/lldb/source/Plugins/Language/Java/JavaLanguage.cpp index eefc2efb718..7bd5f8a5463 100644 --- a/lldb/source/Plugins/Language/Java/JavaLanguage.cpp +++ b/lldb/source/Plugins/Language/Java/JavaLanguage.cpp @@ -88,11 +88,22 @@ JavaLanguage::GetFormatters() DataVisualization::Categories::GetCategory(GetPluginName(), g_category); if (g_category) { + const char* array_regexp = "^.*\\[\\]&?$"; + lldb::TypeSummaryImplSP string_summary_sp(new CXXFunctionSummaryFormat( TypeSummaryImpl::Flags().SetDontShowChildren(true), lldb_private::formatters::JavaStringSummaryProvider, "java.lang.String summary provider")); - g_category->GetTypeSummariesContainer()->Add(ConstString("java::lang::String"), string_summary_sp); + + lldb::TypeSummaryImplSP array_summary_sp(new CXXFunctionSummaryFormat( + TypeSummaryImpl::Flags().SetDontShowChildren(true), lldb_private::formatters::JavaArraySummaryProvider, + "Java array summary provider")); + g_category->GetRegexTypeSummariesContainer()->Add(RegularExpressionSP(new RegularExpression(array_regexp)), + array_summary_sp); + + AddCXXSynthetic(g_category, lldb_private::formatters::JavaArraySyntheticFrontEndCreator, + "Java array synthetic children", ConstString(array_regexp), + SyntheticChildren::Flags().SetCascades(true), true); } }); return g_category; |