summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Language/Java/JavaLanguage.cpp
diff options
context:
space:
mode:
authorTamas Berghammer <tberghammer@google.com>2016-05-05 11:18:21 +0000
committerTamas Berghammer <tberghammer@google.com>2016-05-05 11:18:21 +0000
commit2ff833060cb31bda76dc62137d2ff486c7c6fba7 (patch)
treee018b73999243a9cdd5d4571b0905a2ce43f47c9 /lldb/source/Plugins/Language/Java/JavaLanguage.cpp
parentd00698f4c11b51477edc1a77afbe4305e1ecf4db (diff)
downloadbcm5719-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.cpp13
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;
OpenPOWER on IntegriCloud