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/Target/Target.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/Target/Target.cpp')
| -rw-r--r-- | lldb/source/Target/Target.cpp | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 23c8678c47e..bfd222accd4 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -1606,19 +1606,12 @@ Target::EvaluateExpression ( const char *expr_cstr, StackFrame *frame, - lldb_private::ExecutionPolicy execution_policy, - bool coerce_to_id, - bool unwind_on_error, - bool keep_in_memory, - lldb::DynamicValueType use_dynamic, lldb::ValueObjectSP &result_valobj_sp, - uint32_t single_thread_timeout_usec + const EvaluateExpressionOptions& options ) { ExecutionResults execution_results = eExecutionSetupError; - result_valobj_sp.reset(); - if (expr_cstr == NULL || expr_cstr[0] == '\0') return execution_results; @@ -1645,7 +1638,7 @@ Target::EvaluateExpression if (::strcspn (expr_cstr, "()+*&|!~<=/^%,?") == expr_cstr_len) { result_valobj_sp = frame->GetValueForVariableExpressionPath (expr_cstr, - use_dynamic, + options.GetUseDynamic(), expr_path_options, var_sp, error); @@ -1679,9 +1672,9 @@ Target::EvaluateExpression } else { - if (use_dynamic != lldb::eNoDynamicValues) + if (options.GetUseDynamic() != lldb::eNoDynamicValues) { - ValueObjectSP dynamic_sp = result_valobj_sp->GetDynamicValue(use_dynamic); + ValueObjectSP dynamic_sp = result_valobj_sp->GetDynamicValue(options.GetUseDynamic()); if (dynamic_sp) result_valobj_sp = dynamic_sp; } @@ -1735,14 +1728,14 @@ Target::EvaluateExpression const char *prefix = GetExpressionPrefixContentsAsCString(); execution_results = ClangUserExpression::Evaluate (exe_ctx, - execution_policy, + options.GetExecutionPolicy(), lldb::eLanguageTypeUnknown, - coerce_to_id ? ClangUserExpression::eResultTypeId : ClangUserExpression::eResultTypeAny, - unwind_on_error, + options.DoesCoerceToId() ? ClangUserExpression::eResultTypeId : ClangUserExpression::eResultTypeAny, + options.DoesUnwindOnError(), expr_cstr, prefix, result_valobj_sp, - single_thread_timeout_usec); + options.GetSingleThreadTimeoutUsec()); } } |

