From 2ff833060cb31bda76dc62137d2ff486c7c6fba7 Mon Sep 17 00:00:00 2001 From: Tamas Berghammer Date: Thu, 5 May 2016 11:18:21 +0000 Subject: Add support for displaying Java array types on Andorid Differential revision: http://reviews.llvm.org/D19540 llvm-svn: 268622 --- lldb/source/Plugins/Language/Java/JavaLanguage.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lldb/source/Plugins/Language/Java/JavaLanguage.cpp') 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; -- cgit v1.2.3