[Lldb-commits] [lldb] [lldb] Resolve ObjC property backing storage in dwim-print (PR #225204)

Augusto Noronha via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 25 16:11:25 PDT 2026


================
@@ -51,6 +52,52 @@ CommandObjectDWIMPrint::CommandObjectDWIMPrint(CommandInterpreter &interpreter)
 
 Options *CommandObjectDWIMPrint::GetOptions() { return &m_option_group; }
 
+std::string CommandObjectDWIMPrint::RewritePathForBackingStorage(
+    llvm::StringRef expr, StackFrame &frame,
+    lldb::DynamicValueType use_dynamic) {
+  llvm::SmallVector<llvm::StringRef, 4> components;
+  expr.split(components, '.');
+  if (components.empty())
+    return {};
+
+  VariableSP var_sp;
+  Status status;
+  ValueObjectSP valobj_sp = frame.GetValueForVariableExpressionPath(
+      components[0], use_dynamic,
+      StackFrame::eExpressionPathOptionsAllowDirectIVarAccess |
+          StackFrame::eExpressionPathOptionsDisallowGlobals,
+      var_sp, status, lldb::eDILModeSimple);
+  if (!valobj_sp || !status.Success() || valobj_sp->GetError().Fail())
----------------
augusto2112 wrote:

This function should return the error (`llvm::Expected<std::string>` should work).

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


More information about the lldb-commits mailing list