llvm-project/lldb/scripts/Python
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
..
interface <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
build-swig-Python.sh Makefile patches from Charles Davis and Daniel Malea (+ one or two tweaks). 2012-11-01 18:55:16 +00:00
edit-swig-python-wrapper-file.py Fix remaining Python issues leftover from my previous patch. 2011-06-01 02:33:12 +00:00
finish-swig-Python-LLDB.sh Makefile patches from Charles Davis and Daniel Malea (+ one or two tweaks). 2012-11-01 18:55:16 +00:00
modify-python-lldb.py Make sure that the lldb globals: 2012-12-10 19:18:23 +00:00
python-extensions.swig <rdar://problem/12462744> Implement a new SBDeclaration class to wrap an lldb_private::Declaration - make a GetDeclaration() API on SBValue to return a declaration. This will only work for vroot variables as they are they only objects for which we currently provide a valid Declaration 2012-10-10 22:54:17 +00:00
python-typemaps.swig Ensuring that the swig typemaps for SBData set the size to 0 along with the pointer to NULL 2012-10-29 23:06:44 +00:00
python-wrapper.swig Remove std::string input arguments and replace with "const char *". 2013-01-16 19:53:55 +00:00