diff options
| author | Jim Ingham <jingham@apple.com> | 2018-10-16 21:58:40 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2018-10-16 21:58:40 +0000 |
| commit | b1ecc3cac29bdae5469e9610a1ff66f8531a503c (patch) | |
| tree | 751f36f01bfa8eda4e6eb963c57fd0eb8f46d1f9 /lldb/source/Expression/UserExpression.cpp | |
| parent | d33f6e73e148b0a257facb81f100b1e731e0c910 (diff) | |
| download | bcm5719-llvm-b1ecc3cac29bdae5469e9610a1ff66f8531a503c.tar.gz bcm5719-llvm-b1ecc3cac29bdae5469e9610a1ff66f8531a503c.zip | |
Return a named error in the result object of an expression with no result
Before we returned an error that was not exposed in the SB API and no useful
error message. This change returns eExpressionProducedNoResult and an
appropriate error string.
<rdar://problem/44539514>
Differential Revision: https://reviews.llvm.org/D53309
llvm-svn: 344647
Diffstat (limited to 'lldb/source/Expression/UserExpression.cpp')
| -rw-r--r-- | lldb/source/Expression/UserExpression.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Expression/UserExpression.cpp b/lldb/source/Expression/UserExpression.cpp index 34945fdcbfa..1477bbdb660 100644 --- a/lldb/source/Expression/UserExpression.cpp +++ b/lldb/source/Expression/UserExpression.cpp @@ -151,6 +151,9 @@ lldb::ExpressionResults UserExpression::Evaluate( ? UserExpression::eResultTypeId : UserExpression::eResultTypeAny; lldb::ExpressionResults execution_results = lldb::eExpressionSetupError; + + static const char *no_result_error = "Expression completed successfully " + "but had no result"; Target *target = exe_ctx.GetTargetPtr(); if (!target) { @@ -304,7 +307,8 @@ lldb::ExpressionResults UserExpression::Evaluate( error.SetExpressionError(lldb::eExpressionSetupError, "expression needed to run but couldn't"); } else if (execution_policy == eExecutionPolicyTopLevel) { - error.SetError(UserExpression::kNoResult, lldb::eErrorTypeGeneric); + error.SetExpressionError(lldb::eExpressionProducedNoResult, + no_result_error); return lldb::eExpressionCompleted; } else { if (options.InvokeCancelCallback(lldb::eExpressionEvaluationExecution)) { @@ -349,7 +353,8 @@ lldb::ExpressionResults UserExpression::Evaluate( log->Printf("== [UserExpression::Evaluate] Execution completed " "normally with no result =="); - error.SetError(UserExpression::kNoResult, lldb::eErrorTypeGeneric); + error.SetExpressionError(lldb::eExpressionProducedNoResult, + no_result_error); } } } |

