llvm-project/lldb/source/Plugins
Zachary Turner 9c40264fda Introduce a `PythonFile` object, and use it everywhere.
Python file handling got an overhaul in Python 3, and it affects
the way we have to interact with files.  Notably:

1) `PyFile_FromFile` no longer exists, and instead we have to use
   `PyFile_FromFd`.  This means having a way to get an fd from
   a FILE*.  For this we reuse the lldb_private::File class to
   convert between FILE*s and fds, since there are some subtleties
   regarding ownership rules when FILE*s and fds refer to the same
   file.
2) PyFile is no longer a builtin type, so there is no such thing as
   `PyFile_Check`.  Instead, files in Python 3 are just instances
   of `io.IOBase`.  So the logic for checking if something is a file
   in Python 3 is to check if it is a subclass of that module.

Additionally, some unit tests are added to verify that `PythonFile`
works as expected on Python 2 and Python 3, and
`ScriptInterpreterPython` is updated to use `PythonFile` instead of
manual calls to the various `PyFile_XXX` methods.

llvm-svn: 250444
2015-10-15 19:35:48 +00:00
..
ABI Remove unused virtuals from ABISysV_ppc* 2015-10-07 16:48:33 +00:00
Disassembler Re-commit the (fixed) changes from r248985 which were reverted by Pavel 2015-10-08 21:48:35 +00:00
DynamicLoader Make use of lldv::Triple::isAndroid 2015-10-14 10:29:17 +00:00
ExpressionParser Reduce header inclusion in Expression. 2015-10-07 17:22:54 +00:00
Instruction Make use of lldv::Triple::isAndroid 2015-10-14 10:29:17 +00:00
InstrumentationRuntime [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
JITLoader Add plugin.jit-loader.gdb.enable-jit-breakpoint property to make JIT loader breakpoint optional. 2015-09-16 17:38:36 +00:00
Language Add a data formatter for __NSArray0, the type of empty arrays 2015-10-14 22:45:04 +00:00
LanguageRuntime Revert "RenderScript command for printing allocation contents" 2015-10-14 11:50:37 +00:00
MemoryHistory [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
ObjectContainer [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
ObjectFile ArchSpec: fix unintentional promotion of unspecified unknowns to specified unknowns 2015-10-13 23:41:19 +00:00
OperatingSystem Add an OperatingSystem plugin to support goroutines 2015-09-16 21:20:44 +00:00
Platform Remove definition of ~PlatformNetBSD(), since its declaration is marked as '= default' 2015-10-13 23:22:40 +00:00
Process In r240466, when Greg added the jThreadsInfo packet, he accidentally 2015-10-15 04:20:42 +00:00
ScriptInterpreter Introduce a `PythonFile` object, and use it everywhere. 2015-10-15 19:35:48 +00:00
SymbolFile Fix broken assert in DWARFDIE.cpp on OS X 2015-10-15 16:35:59 +00:00
SymbolVendor [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
SystemRuntime Made GetScratchTypeSystemForLanguage return an error if desired. 2015-10-02 18:40:30 +00:00
UnwindAssembly [cmake] Remove LLVM_NO_RTTI. 2015-09-03 08:46:55 +00:00
CMakeLists.txt Fix cmake build. 2015-09-03 04:17:57 +00:00
Makefile Fix the undefined symbol issue with go linking with autotools: build the LanguageRuntime for Go + link against it 2015-10-08 11:17:01 +00:00