summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Target.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2012-09-05 20:41:26 +0000
committerEnrico Granata <egranata@apple.com>2012-09-05 20:41:26 +0000
commitd4439aa9ed02cd7445d2edff4e30a5472bc379c1 (patch)
tree426849abc4056cc71b8f1553c1ee0a11a8816dc6 /lldb/source/Target/Target.cpp
parentd0855e180ded62d29faea57635063e8de8687011 (diff)
downloadbcm5719-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.cpp23
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());
}
}
OpenPOWER on IntegriCloud