[Lldb-commits] [lldb] r253093 - Upstream some data formatter related cleanups
Enrico Granata via lldb-commits
lldb-commits at lists.llvm.org
Fri Nov 13 13:55:41 PST 2015
Author: enrico
Date: Fri Nov 13 15:55:41 2015
New Revision: 253093
URL: http://llvm.org/viewvc/llvm-project?rev=253093&view=rev
Log:
Upstream some data formatter related cleanups
Modified:
lldb/trunk/source/DataFormatters/FormattersHelpers.cpp
Modified: lldb/trunk/source/DataFormatters/FormattersHelpers.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/DataFormatters/FormattersHelpers.cpp?rev=253093&r1=253092&r2=253093&view=diff
==============================================================================
--- lldb/trunk/source/DataFormatters/FormattersHelpers.cpp (original)
+++ lldb/trunk/source/DataFormatters/FormattersHelpers.cpp Fri Nov 13 15:55:41 2015
@@ -173,7 +173,10 @@ lldb_private::formatters::ExtractValueFr
options.SetCoerceToId(false);
options.SetUnwindOnError(true);
options.SetKeepInMemory(true);
-
+ options.SetLanguage(lldb::eLanguageTypeObjC_plus_plus);
+ options.SetResultIsInternal(true);
+ options.SetUseDynamic(lldb::eDynamicCanRunTarget);
+
target->EvaluateExpression(expr.GetData(),
stack_frame,
result_sp,
@@ -233,10 +236,12 @@ lldb_private::formatters::CallSelectorOn
return valobj_sp;
if (!selector || !*selector)
return valobj_sp;
- StreamString expr_path_stream;
- valobj.GetExpressionPath(expr_path_stream, false);
StreamString expr;
- expr.Printf("(%s)[%s %s:%" PRId64 "]",return_type,expr_path_stream.GetData(),selector,index);
+ const char *colon = "";
+ llvm::StringRef selector_sr(selector);
+ if (selector_sr.back() != ':')
+ colon = ":";
+ expr.Printf("(%s)[(id)0x%" PRIx64 " %s%s%" PRId64 "]",return_type,valobj.GetPointerValue(),selector,colon,index);
ExecutionContext exe_ctx (valobj.GetExecutionContextRef());
lldb::ValueObjectSP result_sp;
Target* target = exe_ctx.GetTargetPtr();
@@ -248,6 +253,8 @@ lldb_private::formatters::CallSelectorOn
options.SetCoerceToId(false);
options.SetUnwindOnError(true);
options.SetKeepInMemory(true);
+ options.SetLanguage(lldb::eLanguageTypeObjC_plus_plus);
+ options.SetResultIsInternal(true);
options.SetUseDynamic(lldb::eDynamicCanRunTarget);
target->EvaluateExpression(expr.GetData(),
@@ -270,10 +277,12 @@ lldb_private::formatters::CallSelectorOn
return valobj_sp;
if (!key || !*key)
return valobj_sp;
- StreamString expr_path_stream;
- valobj.GetExpressionPath(expr_path_stream, false);
StreamString expr;
- expr.Printf("(%s)[%s %s:%s]",return_type,expr_path_stream.GetData(),selector,key);
+ const char *colon = "";
+ llvm::StringRef selector_sr(selector);
+ if (selector_sr.back() != ':')
+ colon = ":";
+ expr.Printf("(%s)[(id)0x%" PRIx64 " %s%s%s]",return_type,valobj.GetPointerValue(),selector,colon,key);
ExecutionContext exe_ctx (valobj.GetExecutionContextRef());
lldb::ValueObjectSP result_sp;
Target* target = exe_ctx.GetTargetPtr();
@@ -285,6 +294,8 @@ lldb_private::formatters::CallSelectorOn
options.SetCoerceToId(false);
options.SetUnwindOnError(true);
options.SetKeepInMemory(true);
+ options.SetLanguage(lldb::eLanguageTypeObjC_plus_plus);
+ options.SetResultIsInternal(true);
options.SetUseDynamic(lldb::eDynamicCanRunTarget);
target->EvaluateExpression(expr.GetData(),
More information about the lldb-commits
mailing list