xref: /freebsd/contrib/llvm-project/lldb/bindings/interface/SBFunctionExtensions.i (revision 725a9f47324d42037db93c27ceb40d4956872f3e)
1 STRING_EXTENSION_OUTSIDE(SBFunction)
2 
3 %extend lldb::SBFunction {
4 #ifdef SWIGPYTHON
5     %pythoncode %{
6         # operator== is a free function, which swig does not handle, so we inject
7         # our own equality operator here
8         def __eq__(self, other):
9             return not self.__ne__(other)
10 
11         def get_instructions_from_current_target (self):
12             return self.GetInstructions (target)
13 
14         addr = property(GetStartAddress, None, doc='''A read only property that returns an lldb object that represents the start address (lldb.SBAddress) for this function.''')
15         end_addr = property(GetEndAddress, None, doc='''A read only property that returns an lldb object that represents the end address (lldb.SBAddress) for this function.''')
16         block = property(GetBlock, None, doc='''A read only property that returns an lldb object that represents the top level lexical block (lldb.SBBlock) for this function.''')
17         instructions = property(get_instructions_from_current_target, None, doc='''A read only property that returns an lldb object that represents the instructions (lldb.SBInstructionList) for this function.''')
18         mangled = property(GetMangledName, None, doc='''A read only property that returns the mangled (linkage) name for this function as a string.''')
19         name = property(GetName, None, doc='''A read only property that returns the name for this function as a string.''')
20         prologue_size = property(GetPrologueByteSize, None, doc='''A read only property that returns the size in bytes of the prologue instructions as an unsigned integer.''')
21         type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the return type (lldb.SBType) for this function.''')
22     %}
23 #endif
24 }
25