[Lldb-commits] [lldb] 37b0b0f - [lldb] Add class property for the version string (#145974)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Jun 27 08:30:06 PDT 2025
Author: Jonas Devlieghere
Date: 2025-06-27T08:30:02-07:00
New Revision: 37b0b0f7d2b67fedd347a4011582802303657e69
URL: https://github.com/llvm/llvm-project/commit/37b0b0f7d2b67fedd347a4011582802303657e69
DIFF: https://github.com/llvm/llvm-project/commit/37b0b0f7d2b67fedd347a4011582802303657e69.diff
LOG: [lldb] Add class property for the version string (#145974)
Add a class property for the version string. This allows you to use
access the version string through `lldb.SBDebugger.version` instead of
having to call `lldb.SBDebugger.GetVersionString()`.
Added:
Modified:
lldb/bindings/interface/SBDebuggerExtensions.i
lldb/test/API/python_api/debugger/TestDebuggerAPI.py
Removed:
################################################################################
diff --git a/lldb/bindings/interface/SBDebuggerExtensions.i b/lldb/bindings/interface/SBDebuggerExtensions.i
index ff2a0359b1363..7895fcdd72468 100644
--- a/lldb/bindings/interface/SBDebuggerExtensions.i
+++ b/lldb/bindings/interface/SBDebuggerExtensions.i
@@ -45,4 +45,17 @@ STRING_EXTENSION_OUTSIDE(SBDebugger)
lldb::FileSP GetErrorFileHandle() {
return self->GetErrorFile().GetFile();
}
+
+#ifdef SWIGPYTHON
+ %pythoncode %{
+ class staticproperty:
+ def __init__(self, func):
+ self.func = func
+ def __get__(self, instance, owner):
+ return self.func()
+ @staticproperty
+ def version():
+ return SBDebugger.GetVersionString()
+ %}
+#endif
}
diff --git a/lldb/test/API/python_api/debugger/TestDebuggerAPI.py b/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
index 646ccce36530d..43f45f330ee2a 100644
--- a/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
+++ b/lldb/test/API/python_api/debugger/TestDebuggerAPI.py
@@ -286,3 +286,11 @@ def remove_bar(dbg_id):
('remove bar ret', False), # remove_bar should fail, because it's already invoked and removed
('foo called', original_dbg_id), # foo should be called
])
+
+ def test_version(self):
+ instance_str = self.dbg.GetVersionString()
+ class_str = lldb.SBDebugger.GetVersionString()
+ property_str = lldb.SBDebugger.version
+
+ self.assertEqual(instance_str, class_str)
+ self.assertEqual(class_str, property_str)
More information about the lldb-commits
mailing list