Skip to content

Commit 62deee4

Browse files
authored
[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 ```
1 parent f163081 commit 62deee4

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lldb/bindings/interface/SBFrameExtensions.i

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ STRING_EXTENSION_OUTSIDE(SBFrame)
2424
else:
2525
return SBFrame()
2626

27+
def get_child_frame(self):
28+
child_idx = self.idx - 1
29+
if child_idx >= 0:
30+
return self.thread.frame[child_idx]
31+
else:
32+
return SBFrame()
33+
2734
def get_arguments(self):
2835
return self.GetVariables(True,False,False,False)
2936

@@ -92,6 +99,7 @@ STRING_EXTENSION_OUTSIDE(SBFrame)
9299
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.''')
93100
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''')
94101
parent = property(get_parent_frame, None, doc='''A read only property that returns the parent (caller) frame of the current frame.''')
102+
child = property(get_child_frame, None, doc='''A read only property that returns the child (callee) frame of the current frame.''')
95103
%}
96104
#endif
97105
}

0 commit comments

Comments
 (0)