[lldb][NFC] Add documentation for SBFrame::GetRegisters (#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.

---------

Co-authored-by: Will Hawkins <whh8b@obs.cr>
This commit is contained in:
Jason Molenda
2025-02-06 09:19:22 -08:00
committed by GitHub
parent cc0d4a5188
commit 18bd118893
2 changed files with 18 additions and 2 deletions

View File

@@ -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 in lldb, with
no additional arguments.
The register-set SBValue will have a name, e.g.
SBFrame::GetRegisters().GetValueAtIndex(0).GetName()
By convention, certain stubs choose to name their general-purpose register-set the 'General Purpose Registers', but that is not required.
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

View File

@@ -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='''Returns the register sets for this thread as a list(). See SBFrame::GetRegisters() for details.''')
regs = property(GetRegisters, None, doc='''Returns the register sets for this thread as a list(). 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.''')