Introduce the notion of "type summary options" as flags that can be passed down to individual summary formatters to alter their behavior in a formatter-dependent way
Two flags are introduced:
- preferred display language (as in, ObjC vs. C++)
- summary capping (as in, should a limit be put to the amount of data retrieved)

The meaning - if any - of these options is for individual formatters to establish
The topic of a subsequent commit will be to actually wire these through to individual data formatters

llvm-svn: 221482
diff --git a/lldb/scripts/Python/interface/SBTypeSummary.i b/lldb/scripts/Python/interface/SBTypeSummary.i
index 9d6a001..9242561 100644
--- a/lldb/scripts/Python/interface/SBTypeSummary.i
+++ b/lldb/scripts/Python/interface/SBTypeSummary.i
@@ -8,7 +8,31 @@
 //===----------------------------------------------------------------------===//
 
 namespace lldb {
-    
+    class SBTypeSummaryOptions
+    {
+    public:
+        SBTypeSummaryOptions();
+        
+        SBTypeSummaryOptions (const lldb::SBTypeSummaryOptions &rhs);
+        
+        ~SBTypeSummaryOptions ();
+        
+        bool
+        IsValid ();
+        
+        lldb::LanguageType
+        GetLanguage ();
+        
+        lldb::TypeSummaryCapping
+        GetCapping ();
+        
+        void
+        SetLanguage (lldb::LanguageType);
+        
+        void
+        SetCapping (lldb::TypeSummaryCapping);
+    };
+
     %feature("docstring",
     "Represents a summary that can be associated to one or more types.
     ") SBTypeSummary;
diff --git a/lldb/scripts/Python/interface/SBValue.i b/lldb/scripts/Python/interface/SBValue.i
index 15b39fd..db78039 100644
--- a/lldb/scripts/Python/interface/SBValue.i
+++ b/lldb/scripts/Python/interface/SBValue.i
@@ -122,6 +122,9 @@
     GetSummary ();
     
     const char *
+    GetSummary (lldb::SBTypeSummaryOptions& options);
+    
+    const char *
     GetObjectDescription ();
     
     const char *