[clang] constexpr built-in elementwise bitreverse function. (#118177)
[llvm-project.git] / lldb / bindings / interface / SBBreakpointExtensions.i
blob6bc781a327778d21079df3a1a9de1e31577064d2
1 STRING_EXTENSION_OUTSIDE(SBBreakpoint)
3 %extend lldb::SBBreakpoint {
4 #ifdef SWIGPYTHON
5 %pythoncode %{
7 class locations_access(object):
8 '''A helper object that will lazily hand out locations for a breakpoint when supplied an index.'''
9 def __init__(self, sbbreakpoint):
10 self.sbbreakpoint = sbbreakpoint
12 def __len__(self):
13 if self.sbbreakpoint:
14 return int(self.sbbreakpoint.GetNumLocations())
15 return 0
17 def __getitem__(self, key):
18 if isinstance(key, int):
19 count = len(self)
20 if -count <= key < count:
21 key %= count
22 return self.sbbreakpoint.GetLocationAtIndex(key)
23 return None
25 def get_locations_access_object(self):
26 '''An accessor function that returns a locations_access() object which allows lazy location access from a lldb.SBBreakpoint object.'''
27 return self.locations_access (self)
29 def get_breakpoint_location_list(self):
30 '''An accessor function that returns a list() that contains all locations in a lldb.SBBreakpoint object.'''
31 locations = []
32 accessor = self.get_locations_access_object()
33 for idx in range(len(accessor)):
34 locations.append(accessor[idx])
35 return locations
37 def __iter__(self):
38 '''Iterate over all breakpoint locations in a lldb.SBBreakpoint
39 object.'''
40 return lldb_iter(self, 'GetNumLocations', 'GetLocationAtIndex')
42 def __len__(self):
43 '''Return the number of breakpoint locations in a lldb.SBBreakpoint
44 object.'''
45 return self.GetNumLocations()
47 locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''')
48 location = property(get_locations_access_object, None, doc='''A read only property that returns an object that can access locations by index (not location ID) (location = bkpt.location[12]).''')
49 id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''')
50 enabled = property(IsEnabled, SetEnabled, doc='''A read/write property that configures whether this breakpoint is enabled or not.''')
51 one_shot = property(IsOneShot, SetOneShot, doc='''A read/write property that configures whether this breakpoint is one-shot (deleted when hit) or not.''')
52 num_locations = property(GetNumLocations, None, doc='''A read only property that returns the count of locations of this breakpoint.''')
54 #endif