[all-commits] [llvm/llvm-project] 7a1e87: [lldb] Introduce OperatingSystem{, Python}Interface...

Med Ismail Bennani via All-commits all-commits at lists.llvm.org
Thu Oct 26 15:12:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7a1e8783586ecc90ee15f12c7b76799313bb32e8
      https://github.com/llvm/llvm-project/commit/7a1e8783586ecc90ee15f12c7b76799313bb32e8
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    A lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/lldb-forward.h
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
    M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
    A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  [lldb] Introduce OperatingSystem{,Python}Interface and make use it

This patch aims to consolidate the OperatingSystem scripting affordance
by introducing a stable interface that conforms to the
Scripted{,Python}Interface.

This unify the way we call into python methods from lldb while
also improving its capabilities by allowing us to pass lldb_private
objects are arguments.

Differential Revision: https://reviews.llvm.org/D159314

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


  Commit: ec456ba9ca0a097da63daafbb031cb2024f5513a
      https://github.com/llvm/llvm-project/commit/ec456ba9ca0a097da63daafbb031cb2024f5513a
  Author: Med Ismail Bennani <ismail at bennani.ma>
  Date:   2023-10-26 (Thu, 26 Oct 2023)

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    A lldb/examples/python/templates/operating_system.py
    M lldb/examples/python/templates/scripted_process.py
    M lldb/test/API/functionalities/plugins/python_os_plugin/operating_system.py

  Log Message:
  -----------
  [lldb] Add OperatingSystem base class to the lldb python module

This patch introduces an `OperatingSystem` base implementation in the
`lldb` python module to make it easier for lldb users to write their own
implementation.

The `OperatingSystem` base implementation is derived itself from the
`ScriptedThread` base implementation since they share some common grounds.

To achieve that, this patch makes changes to the `ScriptedThread`
initializer since it gets called by the `OperatingSystem` initializer.

I also took the opportunity to document the `OperatingSystem` base
class and methods.

Differential Revision: https://reviews.llvm.org/D159315

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>


Compare: https://github.com/llvm/llvm-project/compare/d808d922b42b...ec456ba9ca0a


More information about the All-commits mailing list