llvm-project/lldb/source/API
Greg Clayton a4d8747d0f <rdar://problem/13010007>
Added the ability for OS plug-ins to lazily populate the thread this. The python OS plug-in classes can now implement the following method:

class OperatingSystemPlugin:
  def create_thread(self, tid, context):
    # Return a dictionary for a new thread to create it on demand

This will add a new thread to the thread list if it doesn't already exist. The example code in lldb/examples/python/operating_system.py has been updated to show how this call us used.

Cleaned up the code in PythonDataObjects.cpp/h:
- renamed all classes that started with PythonData* to be Python*. 
- renamed PythonArray to PythonList. Cleaned up the code to use inheritance where
- Centralized the code that does ref counting in the PythonObject class to a single function.
- Made the "bool PythonObject::Reset(PyObject *)" function be virtual so each subclass can correctly check to ensure a PyObject is of the right type before adopting the object.
- Cleaned up all APIs and added new constructors for the Python* classes to they can all construct form:
	- PyObject *
	- const PythonObject &
	- const lldb::ScriptInterpreterObjectSP &

Cleaned up code in ScriptInterpreterPython:
- Made calling python functions safer by templatizing the production of value formats. Python specifies the value formats based on built in C types (long, long long, etc), and code often uses typedefs for uint32_t, uint64_t, etc when passing arguments down to python. We will now always produce correct value formats as the templatized code will "do the right thing" all the time.
- Fixed issues with the ScriptInterpreterPython::Locker where entering the session and leaving the session had a bunch of issues that could cause the "lldb" module globals lldb.debugger, lldb.target, lldb.process, lldb.thread, and lldb.frame to not be initialized.

llvm-svn: 172873
2013-01-18 23:41:08 +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 Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBBlock.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBBreakpoint.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBBreakpointLocation.cpp Add an accessor on SBBreakpointLocation to get its location ID. 2012-05-16 00:51:15 +00:00
SBBroadcaster.cpp Add a general mechanism to wait on the debugger for Broadcasters of a given class/event bit set. 2012-02-16 06:50:00 +00:00
SBCommandInterpreter.cpp <rdar://problem/12586010> 2013-01-08 21:56:43 +00:00
SBCommandReturnObject.cpp Remove the “len” defaulted parameter from CommandReturnObject::AppendMessage, AppendWarning and AppendError. Nobody was using them, and it meant if you accidentally used the AppendWarning when you meant AppendWarningWithFormat with an integer in the format string, it would compile and then return your string plus some unknown amount of junk. 2012-12-15 02:40:54 +00:00
SBCommunication.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBCompileUnit.cpp Patch from dawn@burble.org: 2012-03-16 20:46:10 +00:00
SBData.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBDebugger.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBDeclaration.cpp Patch from Daniel Malea that cleans up the process parameters for Process/Thread classes for POSIX and Linux. 2012-10-12 16:23:23 +00:00
SBError.cpp Make ValueObject::SetValueFromCString work correctly. 2011-08-12 23:34:31 +00:00
SBEvent.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBExpressionOptions.cpp Separated the "expr --unwind-on-error" behavior into two parts, actual errors (i.e. crashes) which continue to be 2013-01-15 02:47:48 +00:00
SBFileSpec.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBFileSpecList.cpp <rdar://problem/10126482> 2011-11-13 06:57:31 +00:00
SBFrame.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBFunction.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBHostOS.cpp Added an SBAPI to get the PythonPath (if the Host knows how to do that). And a -P option to the Driver 2012-12-21 22:22:26 +00:00
SBInputReader.cpp Modified all logging calls to hand out shared pointers to make sure we 2010-11-06 01:53:30 +00:00
SBInstruction.cpp <rdar://problem/11757916> 2012-08-29 21:13:06 +00:00
SBInstructionList.cpp <rdar://problem/11330621> 2012-05-10 02:52:23 +00:00
SBLineEntry.cpp Make the IsValid() operator for SBLineEntry "do the right thing" by returning true if the line entry is valid, not just if the opaque pointer to lldb_private::LineEntry is non NULL. 2012-06-27 20:18:01 +00:00
SBListener.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBModule.cpp <rdar://problem/13021266> 2013-01-16 18:53:52 +00:00
SBProcess.cpp <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
SBSection.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
SBSourceManager.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBStream.cpp Return 0 for the size_t return type. 2012-04-03 04:14:31 +00:00
SBStringList.cpp Added copy constructors and assignment operators to all lldb::SB* classes 2010-11-05 23:17:00 +00:00
SBSymbol.cpp Don't expose the pthread_mutex_t underlying the Mutex & Mutex::Locker classes. 2012-05-04 23:02:50 +00:00
SBSymbolContext.cpp Removed all of the "#ifndef SWIG" from the SB header files since we are using 2012-02-06 01:44:54 +00:00
SBSymbolContextList.cpp Removed all of the "#ifndef SWIG" from the SB header files since we are using 2012-02-06 01:44:54 +00:00
SBTarget.cpp <rdar://problem/13021266> 2013-01-16 18:53:52 +00:00
SBThread.cpp Adding eStopReasonThreadExiting and fixing the handling of this state on Linux. 2012-12-20 23:08:03 +00:00
SBType.cpp Added GetCanonicalType() to SBType: 2012-12-08 00:17:07 +00:00
SBTypeCategory.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBTypeFilter.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBTypeFormat.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBTypeNameSpecifier.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBTypeSummary.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBTypeSynthetic.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
SBValue.cpp More Linux warnings fixes (remove default labels as needed): 2012-12-07 20:51:09 +00:00
SBValueList.cpp Convert all python objects in our API to use overload the __str__ method 2012-02-04 02:27:34 +00:00
SBWatchpoint.cpp Adding events when watchpoints are set or changed. 2012-12-18 02:03:49 +00:00