mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-11 02:16:50 +00:00
89b658428b
As of SWIG 4.0, __swig_getmethods__ and __swig_setmethods__ are no longer defined. It appears that there's no need to mess with these internals, we can simplify define the corresponding properties inline. Originally I wanted to use the swig extension %attribute and %attributeref to define properties. However, I couldn't find a way to add documentation to these attributes. Since we already had the properties defined inline, we might as well keep them. Differential revision: https://reviews.llvm.org/D63530 llvm-svn: 364974
97 lines
3.1 KiB
C++
97 lines
3.1 KiB
C++
//===-- SWIG Interface for SBLineEntry --------------------------*- C++ -*-===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
namespace lldb {
|
|
|
|
%feature("docstring",
|
|
"Specifies an association with a contiguous range of instructions and
|
|
a source file location. SBCompileUnit contains SBLineEntry(s). For example,
|
|
|
|
for lineEntry in compileUnit:
|
|
print('line entry: %s:%d' % (str(lineEntry.GetFileSpec()),
|
|
lineEntry.GetLine()))
|
|
print('start addr: %s' % str(lineEntry.GetStartAddress()))
|
|
print('end addr: %s' % str(lineEntry.GetEndAddress()))
|
|
|
|
produces:
|
|
|
|
line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:20
|
|
start addr: a.out[0x100000d98]
|
|
end addr: a.out[0x100000da3]
|
|
line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:21
|
|
start addr: a.out[0x100000da3]
|
|
end addr: a.out[0x100000da9]
|
|
line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:22
|
|
start addr: a.out[0x100000da9]
|
|
end addr: a.out[0x100000db6]
|
|
line entry: /Volumes/data/lldb/svn/trunk/test/python_api/symbol-context/main.c:23
|
|
start addr: a.out[0x100000db6]
|
|
end addr: a.out[0x100000dbc]
|
|
...
|
|
|
|
See also SBCompileUnit."
|
|
) SBLineEntry;
|
|
class SBLineEntry
|
|
{
|
|
public:
|
|
|
|
SBLineEntry ();
|
|
|
|
SBLineEntry (const lldb::SBLineEntry &rhs);
|
|
|
|
~SBLineEntry ();
|
|
|
|
lldb::SBAddress
|
|
GetStartAddress () const;
|
|
|
|
lldb::SBAddress
|
|
GetEndAddress () const;
|
|
|
|
bool
|
|
IsValid () const;
|
|
|
|
explicit operator bool() const;
|
|
|
|
lldb::SBFileSpec
|
|
GetFileSpec () const;
|
|
|
|
uint32_t
|
|
GetLine () const;
|
|
|
|
uint32_t
|
|
GetColumn () const;
|
|
|
|
bool
|
|
GetDescription (lldb::SBStream &description);
|
|
|
|
void
|
|
SetFileSpec (lldb::SBFileSpec filespec);
|
|
|
|
void
|
|
SetLine (uint32_t line);
|
|
|
|
void
|
|
SetColumn (uint32_t column);
|
|
|
|
bool
|
|
operator == (const lldb::SBLineEntry &rhs) const;
|
|
|
|
bool
|
|
operator != (const lldb::SBLineEntry &rhs) const;
|
|
|
|
%pythoncode %{
|
|
file = property(GetFileSpec, None, doc='''A read only property that returns an lldb object that represents the file (lldb.SBFileSpec) for this line entry.''')
|
|
line = property(GetLine, None, doc='''A read only property that returns the 1 based line number for this line entry, a return value of zero indicates that no line information is available.''')
|
|
column = property(GetColumn, None, doc='''A read only property that returns the 1 based column number for this line entry, a return value of zero indicates that no column information is available.''')
|
|
addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this line entry.''')
|
|
end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this line entry.''')
|
|
%}
|
|
};
|
|
|
|
} // namespace lldb
|