summaryrefslogtreecommitdiff
path: root/lldb/source/Expression/UserExpression.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Expression/UserExpression.cpp')
-rw-r--r--lldb/source/Expression/UserExpression.cpp13
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();