llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-lldb Author: Adrian Prantl (adrian-prantl) <details> <summary>Changes</summary> Expressions can take arbitrary amounts of time to run, so IDEs might want to be informed about the fact that an expression is currently being executed. rdar://141253078 --- Full diff: https://github.com/llvm/llvm-project/pull/119757.diff 2 Files Affected: - (modified) lldb/source/Expression/UserExpression.cpp (+9) - (added) lldb/test/Shell/Expr/TestExecProgress.test (+6) ``````````diff diff --git a/lldb/source/Expression/UserExpression.cpp b/lldb/source/Expression/UserExpression.cpp index f1f69ae1c89b85..aa0516c43d139b 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,14 @@ 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; + Progress progress("Running expression", + m_options.IsForUtilityExpr() + ? "(LLDB utility)" + : m_expr_text.substr(0, 12) + "...", + {}, debugger); + lldb::ExpressionResults expr_result = DoExecute( diagnostic_manager, exe_ctx, options, shared_ptr_to_me, result_var); Target *target = exe_ctx.GetTargetPtr(); diff --git a/lldb/test/Shell/Expr/TestExecProgress.test b/lldb/test/Shell/Expr/TestExecProgress.test new file mode 100644 index 00000000000000..93a8469f18ce06 --- /dev/null +++ b/lldb/test/Shell/Expr/TestExecProgress.test @@ -0,0 +1,6 @@ +# RUN: %lldb -s %s | FileCheck %s +log enable lldb event +expr 1 +quit + +# CHECK: {{title = "Running expression", details = "1}} `````````` </details> https://github.com/llvm/llvm-project/pull/119757 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits