llvm-project/lldb/source/API
Greg Clayton 95897c6a3a Added more API to lldb::SBBlock to allow getting the block
parent, sibling and first child block, and access to the
inline function information.

Added an accessor the StackFrame:

	Block * lldb_private::StackFrame::GetFrameBlock();
	
LLDB represents inline functions as lexical blocks that have
inlined function information in them. The function above allows
us to easily get the top most lexical block that defines a stack
frame. When there are no inline functions in function, the block
returned ends up being the top most block for the function. When
the PC is in an inlined funciton for a frame, this will return the
first parent block that has inlined function information. The
other accessor: StackFrame::GetBlock() will return the deepest block
that matches the frame's PC value. Since most debuggers want to display
all variables in the current frame, the Block returned by
StackFrame::GetFrameBlock can be used to retrieve all variables for
the current frame.

Fixed the lldb_private::Block::DumpStopContext(...) to properly
display inline frames a block should display all of its inlined
functions. Prior to this fix, one of the call sites was being skipped.
This is a separate code path from the current default where inlined
functions get their own frames.

Fixed an issue where a block would always grab variables for any
child inline function blocks.

llvm-svn: 113195
2010-09-07 04:20:48 +00:00
..
Makefile Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
SBAddress.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBBlock.cpp Added more API to lldb::SBBlock to allow getting the block 2010-09-07 04:20:48 +00:00
SBBreakpoint.cpp Added needed breakpoint functionality to the public API that includes: 2010-07-23 23:33:17 +00:00
SBBreakpointLocation.cpp Merged Eli Friedman's linux build changes where he added Makefile files that 2010-07-09 20:39:50 +00:00
SBBroadcaster.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBCommandContext.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBCommandInterpreter.cpp This is a very large commit that completely re-does the way lldb 2010-09-04 00:03:46 +00:00
SBCommandReturnObject.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBCommunication.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBCompileUnit.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBDebugger.cpp This is a very large commit that completely re-does the way lldb 2010-09-04 00:03:46 +00:00
SBError.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBEvent.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBFileSpec.cpp o Exposed SBFileSpec to the Python APIs in lldb.py. 2010-08-27 22:35:26 +00:00
SBFrame.cpp Added more API to lldb::SBBlock to allow getting the block 2010-09-07 04:20:48 +00:00
SBFunction.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBHostOS.cpp Initial checkin of lldb code from internal Apple repo. 2010-06-08 16:52:24 +00:00
SBInputReader.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBInstruction.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBInstructionList.cpp Initial checkin of lldb code from internal Apple repo. 2010-06-08 16:52:24 +00:00
SBLineEntry.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBListener.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBModule.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBProcess.cpp Change "Current" as in GetCurrentThread, GetCurrentStackFrame, etc, to "Selected" i.e. GetSelectedThread. Selected makes more sense, since these are set by some user action (a selection). I didn't change "CurrentProcess" since this is always controlled by the target, and a given target can only have one process, so it really can't be selected. 2010-08-26 21:32:51 +00:00
SBSourceManager.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBStringList.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBSymbol.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBSymbolContext.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00
SBTarget.cpp Added the ability to disable ASLR (Address Space Layout Randomization). ASLR 2010-08-31 18:35:14 +00:00
SBThread.cpp Added a new bool parameter to many of the DumpStopContext() methods that 2010-09-02 21:44:10 +00:00
SBType.cpp Added functionality to our API for SBType. This will allow users to eventually find and peruse static type information from modules. 2010-08-05 01:56:31 +00:00
SBValue.cpp StackFrame objects now own ValueObjects for any frame variables (locals, args, 2010-09-02 02:59:18 +00:00
SBValueList.cpp Very large changes that were needed in order to allow multiple connections 2010-06-23 01:19:29 +00:00