Fixed formats being able to be applied recursively when using:
target variable -f <format> [args]
frame variable -f <format> [args]
expression -f <format> -- expr



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149080 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectExpression.cpp b/source/Commands/CommandObjectExpression.cpp
index e2ce4b2..301ce82 100644
--- a/source/Commands/CommandObjectExpression.cpp
+++ b/source/Commands/CommandObjectExpression.cpp
@@ -368,7 +368,8 @@
                                               true,                     // Scope is already checked. Const results are always in scope.
                                               false,                    // Don't flatten output
                                               0,                        // Always use summaries (you might want an option --no-summary like there is for frame variable)
-                                              false);                   // Do not show more children than settings allow
+                                              false,                    // Do not show more children than settings allow
+                                              format);                  // Format override
                 if (result)
                     result->SetStatus (eReturnStatusSuccessFinishResult);
             }
diff --git a/source/Commands/CommandObjectFrame.cpp b/source/Commands/CommandObjectFrame.cpp
index 9a4665c..bb8313c 100644
--- a/source/Commands/CommandObjectFrame.cpp
+++ b/source/Commands/CommandObjectFrame.cpp
@@ -476,8 +476,8 @@
                                         valobj_sp = frame->GetValueObjectForFrameVariable (var_sp, m_varobj_options.use_dynamic);
                                         if (valobj_sp)
                                         {
-                                            if (format != eFormatDefault)
-                                                valobj_sp->SetFormat (format);
+//                                            if (format != eFormatDefault)
+//                                                valobj_sp->SetFormat (format);
                                             
                                             if (m_option_variable.show_decl && var_sp->GetDeclaration ().GetFile())
                                             {
@@ -490,7 +490,8 @@
                                                 valobj_sp->SetCustomSummaryFormat(summary_format_sp);
                                             ValueObject::DumpValueObject (result.GetOutputStream(), 
                                                                           valobj_sp.get(),
-                                                                          options);
+                                                                          options,
+                                                                          format);
                                         }
                                     }
                                 }
@@ -521,8 +522,8 @@
                                                                               error);
                         if (valobj_sp)
                         {
-                            if (format != eFormatDefault)
-                                valobj_sp->SetFormat (format);
+//                            if (format != eFormatDefault)
+//                                valobj_sp->SetFormat (format);
                             if (m_option_variable.show_decl && var_sp && var_sp->GetDeclaration ().GetFile())
                             {
                                 var_sp->GetDeclaration ().DumpStopContext (&s, false);
@@ -535,7 +536,8 @@
                             ValueObject::DumpValueObject (output_stream, 
                                                           valobj_sp.get(), 
                                                           valobj_sp->GetParent() ? name_cstr : NULL,
-                                                          options);
+                                                          options,
+                                                          format);
                             // Process watchpoint if necessary.
                             if (m_option_watchpoint.watch_variable)
                             {
@@ -639,8 +641,8 @@
                                                                                m_varobj_options.use_dynamic);
                             if (valobj_sp)
                             {
-                                if (format != eFormatDefault)
-                                    valobj_sp->SetFormat (format);
+//                                if (format != eFormatDefault)
+//                                    valobj_sp->SetFormat (format);
 
                                 // When dumping all variables, don't print any variables
                                 // that are not in scope to avoid extra unneeded output
@@ -656,7 +658,8 @@
                                     ValueObject::DumpValueObject (result.GetOutputStream(), 
                                                                   valobj_sp.get(), 
                                                                   name_cstr,
-                                                                  options);
+                                                                  options,
+                                                                  format);
                                 }
                             }
                         }
diff --git a/source/Commands/CommandObjectMemory.cpp b/source/Commands/CommandObjectMemory.cpp
index 95542d1..f849a11 100644
--- a/source/Commands/CommandObjectMemory.cpp
+++ b/source/Commands/CommandObjectMemory.cpp
@@ -705,7 +705,8 @@
                                                   scope_already_checked,
                                                   m_varobj_options.flat_output,
                                                   m_varobj_options.be_raw ? UINT32_MAX : m_varobj_options.no_summary_depth,
-                                                  m_varobj_options.be_raw ? true : m_varobj_options.ignore_cap);
+                                                  m_varobj_options.be_raw ? true : m_varobj_options.ignore_cap,
+                                                  format);
                 }
                 else
                 {
diff --git a/source/Commands/CommandObjectTarget.cpp b/source/Commands/CommandObjectTarget.cpp
index 4835fbb..29f5b9f 100644
--- a/source/Commands/CommandObjectTarget.cpp
+++ b/source/Commands/CommandObjectTarget.cpp
@@ -593,7 +593,8 @@
         ValueObject::DumpValueObject (s, 
                                       valobj_sp.get(), 
                                       root_name,
-                                      options);                                        
+                                      options,
+                                      format);                                        
 
     }