[Lldb-commits] [lldb] [lldb][NFC] Add documentation for SBFrame::GetRegisters (PR #125969)
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Wed Feb 5 16:17:16 PST 2025
https://github.com/jasonmolenda created https://github.com/llvm/llvm-project/pull/125969
SBFrame::GetRegisters() (and the .registers / .regs extensions in Python) returns an array of register-set's, not registers like you might expect from the API name. Document this.
>From 7418a7074cba0ad4e28232d08b48d6d7a31c8cdb Mon Sep 17 00:00:00 2001
From: Jason Molenda <jmolenda at apple.com>
Date: Wed, 5 Feb 2025 16:12:17 -0800
Subject: [PATCH] [lldb][NFC] Add documentation for SBFrame::GetRegisters
SBFrame::GetRegisters() (and the .registers / .regs extensions in
Python) returns an array of register-set's, not registers like you
might expect from the API name. Document this.
---
lldb/bindings/interface/SBFrameDocstrings.i | 16 ++++++++++++++++
lldb/bindings/interface/SBFrameExtensions.i | 4 ++--
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/lldb/bindings/interface/SBFrameDocstrings.i b/lldb/bindings/interface/SBFrameDocstrings.i
index 05a876a685a9127..5823d332c4cdd63 100644
--- a/lldb/bindings/interface/SBFrameDocstrings.i
+++ b/lldb/bindings/interface/SBFrameDocstrings.i
@@ -78,6 +78,22 @@ See also SBThread."
See also GetFunctionName()."
) lldb::SBFrame::IsInlined;
+%feature("docstring", "
+ Returns an SBValueList which is an array of one or more register
+ sets that exist for this thread.
+ Each SBValue in the SBValueList represents one register-set.
+ The first register-set will be the general purpose registers --
+ the registers printed by the `register read` command-line lldb, with
+ no additional arguments.
+ The register-set SBValue will have a name, e.g.
+ SBFrame::GetRegisters().GetValueAtIndex(0).GetName()
+ may be 'General Purpose Registers', but the general purpose
+ register-set may not use that exact name, it is only a convention
+ used by some stubs.
+ A register-set SBValue will have children, one child per register
+ in the register-set."
+) lldb::SBFrame::GetRegisters;
+
%feature("docstring", "
Return true if this frame is artificial (e.g a frame synthesized to
capture a tail call). Local variables may not be available in an artificial
diff --git a/lldb/bindings/interface/SBFrameExtensions.i b/lldb/bindings/interface/SBFrameExtensions.i
index e0472280666ab9c..5c7a63ac53b3ec1 100644
--- a/lldb/bindings/interface/SBFrameExtensions.i
+++ b/lldb/bindings/interface/SBFrameExtensions.i
@@ -87,8 +87,8 @@ STRING_EXTENSION_OUTSIDE(SBFrame)
args = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''')
arguments = property(get_arguments, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the argument variables in this stack frame.''')
statics = property(get_statics, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the static variables in this stack frame.''')
- registers = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''')
- regs = property(GetRegisters, None, doc='''A read only property that returns a list() that contains a collection of lldb.SBValue objects that represent the CPU registers for this stack frame.''')
+ registers = property(GetRegisters, None, doc='''A read only property that returns a list() of register sets for this thread. See SBFrame::GetRegisters() for details.''')
+ regs = property(GetRegisters, None, doc='''A read only property that returns a list() of register sets for this thread. See SBFrame::GetRegisters() for details.''')
register = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame.''')
reg = property(get_registers_access, None, doc='''A read only property that returns an helper object providing a flattened indexable view of the CPU registers for this stack frame''')
parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''')
More information about the lldb-commits
mailing list