[Lldb-commits] [PATCH] D67786: support for arbitrary python file objects

Lawrence D'Anna via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Sep 19 20:23:18 PDT 2019


lawrence_danna created this revision.
lawrence_danna added reviewers: JDevlieghere, jasonmolenda, zturner, jingham.
Herald added subscribers: llvm-commits, dexonsmith, mgorny.
Herald added projects: LLDB, LLVM.

This is a re-work of https://reviews.llvm.org/D38829

The goal is full support for python file objects for reading and writing, 
including objects which have no file descriptor and override the read()
and write() functions.

To acheive this in a reasonable way, I also remove most of the FILE* usage
inside LLDB and replace it with lldb_private::File, and add a new API class
SBFile which wrapps lldb_private::File.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D67786

Files:
  lldb/include/lldb/API/LLDB.h
  lldb/include/lldb/API/SBCommandReturnObject.h
  lldb/include/lldb/API/SBDebugger.h
  lldb/include/lldb/API/SBDefines.h
  lldb/include/lldb/API/SBError.h
  lldb/include/lldb/API/SBFile.h
  lldb/include/lldb/API/SBInstruction.h
  lldb/include/lldb/API/SBInstructionList.h
  lldb/include/lldb/API/SBProcess.h
  lldb/include/lldb/API/SBStream.h
  lldb/include/lldb/Core/Debugger.h
  lldb/include/lldb/Core/IOHandler.h
  lldb/include/lldb/Core/StreamFile.h
  lldb/include/lldb/Host/File.h
  lldb/include/lldb/Host/Socket.h
  lldb/include/lldb/Interpreter/CommandReturnObject.h
  lldb/include/lldb/Interpreter/ScriptInterpreter.h
  lldb/include/lldb/Utility/IOObject.h
  lldb/include/lldb/lldb-forward.h
  lldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
  lldb/scripts/Python/prepare_binding_Python.py
  lldb/scripts/Python/python-typemaps.swig
  lldb/scripts/interface/SBCommandReturnObject.i
  lldb/scripts/interface/SBDebugger.i
  lldb/scripts/interface/SBFile.i
  lldb/scripts/interface/SBInstruction.i
  lldb/scripts/interface/SBInstructionList.i
  lldb/scripts/interface/SBProcess.i
  lldb/scripts/interface/SBStream.i
  lldb/scripts/lldb.swig
  lldb/source/API/CMakeLists.txt
  lldb/source/API/SBCommandReturnObject.cpp
  lldb/source/API/SBDebugger.cpp
  lldb/source/API/SBFile.cpp
  lldb/source/API/SBInstruction.cpp
  lldb/source/API/SBInstructionList.cpp
  lldb/source/API/SBProcess.cpp
  lldb/source/API/SBStream.cpp
  lldb/source/Commands/CommandObjectGUI.cpp
  lldb/source/Core/Debugger.cpp
  lldb/source/Core/IOHandler.cpp
  lldb/source/Core/StreamFile.cpp
  lldb/source/Expression/REPL.cpp
  lldb/source/Host/common/File.cpp
  lldb/source/Host/common/Socket.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
  lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
  lldb/third_party/Python/module/unittest2/unittest2/loader.py
  lldb/tools/driver/Driver.cpp
  llvm/include/llvm/ADT/StringRef.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D67786.220936.patch
Type: text/x-patch
Size: 127715 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190920/cf885e72/attachment-0001.bin>


More information about the lldb-commits mailing list