diff options
Diffstat (limited to 'lldb/source/Expression/UserExpression.cpp')
| -rw-r--r-- | lldb/source/Expression/UserExpression.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lldb/source/Expression/UserExpression.cpp b/lldb/source/Expression/UserExpression.cpp index f1f69ae1c89b..af4b477660ee 100644 --- a/lldb/source/Expression/UserExpression.cpp +++ b/lldb/source/Expression/UserExpression.cpp @@ -14,6 +14,7 @@ #include <string> #include "lldb/Core/Module.h" +#include "lldb/Core/Progress.h" #include "lldb/Expression/DiagnosticManager.h" #include "lldb/Expression/ExpressionVariable.h" #include "lldb/Expression/IRExecutionUnit.h" @@ -424,6 +425,18 @@ UserExpression::Execute(DiagnosticManager &diagnostic_manager, const EvaluateExpressionOptions &options, lldb::UserExpressionSP &shared_ptr_to_me, lldb::ExpressionVariableSP &result_var) { + Debugger *debugger = + exe_ctx.GetTargetPtr() ? &exe_ctx.GetTargetPtr()->GetDebugger() : nullptr; + std::string details; + if (m_options.IsForUtilityExpr()) + details = "LLDB utility"; + else if (m_expr_text.size() > 15) + details = m_expr_text.substr(0, 14) + "…"; + else + details = m_expr_text; + + Progress progress("Running expression", details, {}, debugger); + lldb::ExpressionResults expr_result = DoExecute( diagnostic_manager, exe_ctx, options, shared_ptr_to_me, result_var); Target *target = exe_ctx.GetTargetPtr(); |
