llvm-project/lldb/source/Interpreter
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
..
Args.cpp <rdar://problem/12820334> 2012-12-06 22:49:16 +00:00
CommandInterpreter.cpp <rdar://problem/12786725> 2013-01-17 21:36:19 +00:00
CommandObject.cpp Expanded the flags that can be set for a command object in lldb_private::CommandObject. This list of available flags are: 2013-01-09 19:44:40 +00:00
CommandObjectRegexCommand.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
CommandObjectScript.cpp Fix a few more clang (3.2) warnings on Linux: 2012-12-07 22:21:08 +00:00
CommandObjectScript.h Fix a few more clang (3.2) warnings on Linux: 2012-12-07 22:21:08 +00:00
CommandReturnObject.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
Makefile Fix a few more clang (3.2) warnings on Linux: 2012-12-07 22:21:08 +00:00
OptionGroupArchitecture.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupBoolean.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupFile.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupFormat.cpp <rdar://problem/12156204> 2012-12-15 01:44:51 +00:00
OptionGroupOutputFile.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupPlatform.cpp <rdar://problem/12990038> 2013-01-11 20:49:54 +00:00
OptionGroupString.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupUInt64.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupUUID.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionGroupValueObjectDisplay.cpp Option changes: 2012-12-12 03:23:37 +00:00
OptionGroupVariable.cpp Converting lambdas to plain old static function pointers 2013-01-17 20:24:11 +00:00
OptionGroupWatchpoint.cpp <rdar://problem/12798131> 2012-12-04 00:32:51 +00:00
OptionValue.cpp <rdar://problem/11757916> 2012-08-29 21:13:06 +00:00
OptionValueArch.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
OptionValueArgs.cpp Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: 2012-08-22 17:17:09 +00:00
OptionValueArray.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueBoolean.cpp <rdar://problem/12022079> 2012-08-23 00:22:02 +00:00
OptionValueDictionary.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
OptionValueEnumeration.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueFileSpec.cpp <rdar://problem/12827031> 2012-12-10 19:43:43 +00:00
OptionValueFileSpecLIst.cpp Ran the sources through the compiler with -Wshadow warnings 2012-10-04 22:47:07 +00:00
OptionValueFormat.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
OptionValuePathMappings.cpp Ran the sources through the compiler with -Wshadow warnings 2012-10-04 22:47:07 +00:00
OptionValueProperties.cpp Added the infrastructure necessary for plug-ins to be able to add their own settings instead of having settings added to existing ones. In particular "target.disable-kext-loading" was added to "target" where it should actually be specific to the the dynamic loader plugin. Now the plug-in manager has the ability to create settings at the root level starting with "plugin". Each plug-in type can add new sub dictionaries, and then each plug-in can register a setting dictionary under its own short name. For example the DynamicLoaderDarwinKernel plug-in now registers a setting dictionary at: 2012-10-19 18:02:49 +00:00
OptionValueRegex.cpp Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation: 2012-08-22 17:17:09 +00:00
OptionValueSInt64.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueString.cpp Adding a validation callback mechanism to OptionValueString (such a feature might theoretically be added to the general OptionValue base class should the need arise) 2012-12-11 22:42:19 +00:00
OptionValueUInt64.cpp Resolve printf formatting warnings on Linux: 2012-11-29 21:49:15 +00:00
OptionValueUUID.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
Options.cpp Define isprint8() wrapper around isprint() in order to avoid crashes on Linux 2012-12-05 20:24:57 +00:00
Property.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
PythonDataObjects.cpp <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
ScriptInterpreter.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
ScriptInterpreterNone.cpp Fix Linux build warnings due to redefinition of macros: 2012-12-05 00:20:57 +00:00
ScriptInterpreterPython.cpp <rdar://problem/13010007> 2013-01-18 23:41:08 +00:00
embedded_interpreter.py Split up the Python script interpreter code to allow multiple script interpreter objects to 2011-01-14 00:29:16 +00:00