Author: Jacob Lalonde Date: 2025-11-20T18:05:19Z New Revision: 62deee41592d7522d7fc3c3686d657bc36d80638
URL: https://github.com/llvm/llvm-project/commit/62deee41592d7522d7fc3c3686d657bc36d80638 DIFF: https://github.com/llvm/llvm-project/commit/62deee41592d7522d7fc3c3686d657bc36d80638.diff LOG: [LLDB] Add a child property to compliment the existing parent property (#168619) I've been working on some scripts that evaluate the parent and child frame. It's been very annoying that the parent frame has a property but not the child. So I've added this to the extensions, I would've preferred to return None, but because the existing impl returns an invalid SBFrame, so I'm conforming to that API. ``` (lldb) script Python Interactive Interpreter. To exit, type 'quit()', 'exit()' or Ctrl-D. >>> lldb.frame frame #0: 0x0000555555555200 fib.out`main >>> lldb.frame.parent frame #1: 0x00007ffff782a610 libc.so.6`__libc_start_call_main + 128 >>> lldb.frame.parent.child frame #0: 0x0000555555555200 fib.out`main ``` Added: Modified: lldb/bindings/interface/SBFrameExtensions.i Removed: ################################################################################ diff --git a/lldb/bindings/interface/SBFrameExtensions.i b/lldb/bindings/interface/SBFrameExtensions.i index 38d03abaee8f0..0c79b98b290f2 100644 --- a/lldb/bindings/interface/SBFrameExtensions.i +++ b/lldb/bindings/interface/SBFrameExtensions.i @@ -24,6 +24,13 @@ STRING_EXTENSION_OUTSIDE(SBFrame) else: return SBFrame() + def get_child_frame(self): + child_idx = self.idx - 1 + if child_idx >= 0: + return self.thread.frame[child_idx] + else: + return SBFrame() + def get_arguments(self): return self.GetVariables(True,False,False,False) @@ -92,6 +99,7 @@ STRING_EXTENSION_OUTSIDE(SBFrame) 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.''') + child = property(get_child_frame, None, doc='''A read only property that returns the child (callee) frame of the current frame.''') %} #endif } _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
