llvm-project/lldb/bindings/interface/SBDebuggerExtensions.i
Jonas Devlieghere 37b0b0f7d2
[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()`.
2025-06-27 08:30:02 -07:00

62 lines
1.8 KiB
OpenEdge ABL

STRING_EXTENSION_OUTSIDE(SBDebugger)
%extend lldb::SBDebugger {
#ifdef SWIGPYTHON
%pythoncode %{
def SetOutputFileHandle(self, file, transfer_ownership):
"DEPRECATED, use SetOutputFile"
if file is None:
import sys
file = sys.stdout
self.SetOutputFile(SBFile.Create(file, borrow=True))
def SetInputFileHandle(self, file, transfer_ownership):
"DEPRECATED, use SetInputFile"
if file is None:
import sys
file = sys.stdin
self.SetInputFile(SBFile.Create(file, borrow=True))
def SetErrorFileHandle(self, file, transfer_ownership):
"DEPRECATED, use SetErrorFile"
if file is None:
import sys
file = sys.stderr
self.SetErrorFile(SBFile.Create(file, borrow=True))
def __iter__(self):
'''Iterate over all targets in a lldb.SBDebugger object.'''
return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex')
def __len__(self):
'''Return the number of targets in a lldb.SBDebugger object.'''
return self.GetNumTargets()
%}
#endif
lldb::FileSP GetInputFileHandle() {
return self->GetInputFile().GetFile();
}
lldb::FileSP GetOutputFileHandle() {
return self->GetOutputFile().GetFile();
}
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
}