diff options
author | Enrico Granata <egranata@apple.com> | 2012-09-05 20:41:26 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2012-09-05 20:41:26 +0000 |
commit | d4439aa9ed02cd7445d2edff4e30a5472bc379c1 (patch) | |
tree | 426849abc4056cc71b8f1553c1ee0a11a8816dc6 /lldb/source/Core/CXXFormatterFunctions.cpp | |
parent | d0855e180ded62d29faea57635063e8de8687011 (diff) | |
download | bcm5719-llvm-d4439aa9ed02cd7445d2edff4e30a5472bc379c1.tar.gz bcm5719-llvm-d4439aa9ed02cd7445d2edff4e30a5472bc379c1.zip |
Implementing an Options class for EvaluateExpression() in order to make the signature more compact and make it easy to 'just run an expression'
llvm-svn: 163239
Diffstat (limited to 'lldb/source/Core/CXXFormatterFunctions.cpp')
-rw-r--r-- | lldb/source/Core/CXXFormatterFunctions.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/lldb/source/Core/CXXFormatterFunctions.cpp b/lldb/source/Core/CXXFormatterFunctions.cpp index e022d742123..4646a09758a 100644 --- a/lldb/source/Core/CXXFormatterFunctions.cpp +++ b/lldb/source/Core/CXXFormatterFunctions.cpp @@ -42,14 +42,17 @@ lldb_private::formatters::CodeRunning_Fetcher (ValueObject &valobj, StackFrame* stack_frame = exe_ctx.GetFramePtr(); if (!target || !stack_frame) return false; + + Target::EvaluateExpressionOptions options; + options.SetCoerceToId(false) + .SetUnwindOnError(true) + .SetKeepInMemory(true) + .SetUseDynamic(lldb::eDynamicCanRunTarget); + target->EvaluateExpression(expr.GetData(), stack_frame, - eExecutionPolicyOnlyWhenNeeded, - false, - true, - true, - lldb::eDynamicCanRunTarget, - result_sp); + result_sp, + options); if (!result_sp) return false; value = result_sp->GetValueAsUnsigned(0); @@ -364,14 +367,17 @@ lldb_private::formatters::NSNumber_SummaryProvider (ValueObject& valobj, Stream& StackFrame* stack_frame = exe_ctx.GetFramePtr(); if (!target || !stack_frame) return false; + + Target::EvaluateExpressionOptions options; + options.SetCoerceToId(false) + .SetUnwindOnError(true) + .SetKeepInMemory(true) + .SetUseDynamic(lldb::eDynamicCanRunTarget); + target->EvaluateExpression(expr.GetData(), stack_frame, - eExecutionPolicyOnlyWhenNeeded, - false, - true, - true, - lldb::eDynamicCanRunTarget, - result_sp); + result_sp, + options); if (!result_sp) return false; stream.Printf("%s",result_sp->GetSummaryAsCString()); |