[Lldb-commits] [lldb] [lldb] Fix `po` alias by printing fix-its to the console. (PR #68452)

Pete Lawrence via lldb-commits lldb-commits at lists.llvm.org
Fri Oct 6 14:58:52 PDT 2023


================
@@ -173,7 +173,16 @@ bool CommandObjectDWIMPrint::DoExecute(StringRef command,
     auto *exe_scope = m_exe_ctx.GetBestExecutionContextScope();
     ValueObjectSP valobj_sp;
     ExpressionResults expr_result =
-        target.EvaluateExpression(expr, exe_scope, valobj_sp, eval_options);
+        target.EvaluateExpression(expr, exe_scope, valobj_sp, eval_options, &m_fixed_expression);
+    
+    // Only mention Fix-Its if the command applies them.
+    // The compiler errors can address any parsing issues after applying Fix-It(s).
+    if (!m_fixed_expression.empty() && target.GetEnableNotifyAboutFixIts()) {
+      Stream &error_stream = result.GetErrorStream();
+      error_stream.Printf("  Applying Fix-It to expression, changing it to:\n    %s\n",
----------------
PortalPete wrote:

This is the _only_ output.

Technically the print comes after the change, but it's all happening "now", in the present tense, from the developers perspective.

I can change it back to past tense, but I don't know that detail would be relevant to anyone other than someone working on LLDB itself. Even then, that person can just step through debugger and see when the change happened relative to the print statement.

https://github.com/llvm/llvm-project/pull/68452


More information about the lldb-commits mailing list