[Lldb-commits] [PATCH] D144114: [lldb] Add expression command	options in dwim-print
    Dave Lee via Phabricator via lldb-commits 
    lldb-commits at lists.llvm.org
       
    Thu Feb 16 09:45:07 PST 2023
    
    
  
kastiglione added inline comments.
================
Comment at: lldb/source/Commands/CommandObjectDWIMPrint.cpp:68
   // First, try `expr` as the name of a frame variable.
-  if (StackFrame *frame = m_exe_ctx.GetFramePtr()) {
-    auto valobj_sp = frame->FindVariable(ConstString(expr));
-    if (valobj_sp && valobj_sp->GetError().Success()) {
-      if (verbosity == eDWIMPrintVerbosityFull) {
-        StringRef flags;
-        if (args.HasArgs())
-          flags = args.GetArgString();
-        result.AppendMessageWithFormatv("note: ran `frame variable {0}{1}`",
-                                        flags, expr);
+  bool force_expression = m_expr_options.debug || m_expr_options.top_level;
+  if (!force_expression) {
----------------
aprantl wrote:
> Maybe comment here that these are the only options that only make sense in the expression evaluator?
As we discussed offline, instead of having flags that force expression evaluation, those flags are no longer exposed. If users need to force expression evaluation, they can use the `expression` command directly.
================
Comment at: lldb/test/API/commands/dwim-print/TestDWIMPrint.py:119
+        self._expect_cmd(f"dwim-print --debug -- argc", "expression")
+        with self.assertRaises(AssertionError):
+            # At the top-level, `argc` is not visible.
----------------
aprantl wrote:
> why is this needed?
the test this comment referred to has since been deleted, on account of no longer having flags that force expression evaluation.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144114/new/
https://reviews.llvm.org/D144114
    
    
More information about the lldb-commits
mailing list