System-wide summaries:
 - Summaries for char*, const char* and char[] are loaded at startup as
   system-wide summaries. This means you cannot delete them unless you use
   the -a option to type summary delete/clear
 - You can add your own system-wide summaries by using the -w option to type
   summary add
Several code improvements for the Python summaries feature

llvm-svn: 135326
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index 029a1d8..cde5da7 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -1798,6 +1798,48 @@
 }
 
 bool
+Debugger::SystemSummaryFormats::Get(ValueObject& vobj, SummaryFormat::SharedPointer &entry)
+{
+    return GetFormatManager().SystemSummary().Get(vobj,entry);
+}
+
+void
+Debugger::SystemSummaryFormats::Add(const ConstString &type, const SummaryFormat::SharedPointer &entry)
+{
+    GetFormatManager().SystemSummary().Add(type.AsCString(),entry);
+}
+
+bool
+Debugger::SystemSummaryFormats::Delete(const ConstString &type)
+{
+    return GetFormatManager().SystemSummary().Delete(type.AsCString());
+}
+
+void
+Debugger::SystemSummaryFormats::Clear()
+{
+    GetFormatManager().SystemSummary().Clear();
+}
+
+void
+Debugger::SystemSummaryFormats::LoopThrough(SummaryFormat::SummaryCallback callback, void* callback_baton)
+{
+    GetFormatManager().SystemSummary().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+Debugger::SystemSummaryFormats::GetCurrentRevision()
+{
+    return GetFormatManager().GetCurrentRevision();
+}
+
+uint32_t
+Debugger::SystemSummaryFormats::GetCount()
+{
+    return GetFormatManager().SystemSummary().GetCount();
+}
+
+bool
 Debugger::RegexSummaryFormats::Get(ValueObject& vobj, SummaryFormat::SharedPointer &entry)
 {
     return GetFormatManager().RegexSummary().Get(vobj,entry);
@@ -1840,6 +1882,48 @@
 }
 
 bool
+Debugger::SystemRegexSummaryFormats::Get(ValueObject& vobj, SummaryFormat::SharedPointer &entry)
+{
+    return GetFormatManager().SystemRegexSummary().Get(vobj,entry);
+}
+
+void
+Debugger::SystemRegexSummaryFormats::Add(const lldb::RegularExpressionSP &type, const SummaryFormat::SharedPointer &entry)
+{
+    GetFormatManager().SystemRegexSummary().Add(type,entry);
+}
+
+bool
+Debugger::SystemRegexSummaryFormats::Delete(const ConstString &type)
+{
+    return GetFormatManager().SystemRegexSummary().Delete(type.AsCString());
+}
+
+void
+Debugger::SystemRegexSummaryFormats::Clear()
+{
+    GetFormatManager().SystemRegexSummary().Clear();
+}
+
+void
+Debugger::SystemRegexSummaryFormats::LoopThrough(SummaryFormat::RegexSummaryCallback callback, void* callback_baton)
+{
+    GetFormatManager().SystemRegexSummary().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+Debugger::SystemRegexSummaryFormats::GetCurrentRevision()
+{
+    return GetFormatManager().GetCurrentRevision();
+}
+
+uint32_t
+Debugger::SystemRegexSummaryFormats::GetCount()
+{
+    return GetFormatManager().SystemRegexSummary().GetCount();
+}
+
+bool
 Debugger::NamedSummaryFormats::Get(const ConstString &type, SummaryFormat::SharedPointer &entry)
 {
     return GetFormatManager().NamedSummary().Get(type.AsCString(),entry);