Index: lldb/bindings/interface/SBAddressExtensions.i =================================================================== --- lldb/bindings/interface/SBAddressExtensions.i +++ lldb/bindings/interface/SBAddressExtensions.i @@ -7,6 +7,12 @@ %pythoncode%{ def __eq__(self, other): return not self.__ne__(other) + + def __len__(self): + pass + + def __iter__(self): + pass %} %pythoncode %{ Index: lldb/bindings/interface/SBAttachInfoExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBAttachInfoExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBAttachInfo) + +%extend lldb::SBAttachInfo { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBBlockExtensions.i =================================================================== --- lldb/bindings/interface/SBBlockExtensions.i +++ lldb/bindings/interface/SBBlockExtensions.i @@ -3,6 +3,21 @@ %extend lldb::SBBlock { #ifdef SWIGPYTHON %pythoncode %{ + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + def get_range_at_index(self, idx): if idx < self.GetNumRanges(): return [self.GetRangeStartAddress(idx), self.GetRangeEndAddress(idx)] Index: lldb/bindings/interface/SBBreakpointExtensions.i =================================================================== --- lldb/bindings/interface/SBBreakpointExtensions.i +++ lldb/bindings/interface/SBBreakpointExtensions.i @@ -44,6 +44,15 @@ object.''' return self.GetNumLocations() + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + locations = property(get_breakpoint_location_list, None, doc='''A read only property that returns a list() of lldb.SBBreakpointLocation objects for this breakpoint.''') 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]).''') id = property(GetID, None, doc='''A read only property that returns the ID of this breakpoint.''') Index: lldb/bindings/interface/SBBreakpointListExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBBreakpointListExtensions.i @@ -0,0 +1,29 @@ +STRING_EXTENSION_OUTSIDE(SBBreakpointList) + +%extend lldb::SBBreakpointList { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + '''Return the number of breakpoints in a lldb.SBBreakpointList object.''' + return self.GetSize() + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + '''Iterate over all breakpoints in a lldb.SBBreakpointList object.''' + return lldb_iter(self, 'GetSize', 'GetBreakpointAtIndex') + %} +#endif +} Index: lldb/bindings/interface/SBBreakpointLocationExtensions.i =================================================================== --- lldb/bindings/interface/SBBreakpointLocationExtensions.i +++ lldb/bindings/interface/SBBreakpointLocationExtensions.i @@ -1 +1,27 @@ STRING_EXTENSION_LEVEL_OUTSIDE(SBBreakpointLocation, lldb::eDescriptionLevelFull) + +%extend lldb::SBBreakpointLocation { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBBreakpointNameExtensions.i =================================================================== --- lldb/bindings/interface/SBBreakpointNameExtensions.i +++ lldb/bindings/interface/SBBreakpointNameExtensions.i @@ -1 +1,27 @@ STRING_EXTENSION_OUTSIDE(SBBreakpointName) + +%extend lldb::SBBreakpointName { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBBroadcastExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBBroadcastExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBBroadcaster) + +%extend lldb::SBBroadcaster { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBCommandInterpreterExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBCommandInterpreterExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBCommandInterpreter) + +%extend lldb::SBCommandInterpreter { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBCommandInterpreterRunOptionsExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBCommandInterpreterRunOptionsExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBCommandInterpreterRunOptions) + +%extend lldb::SBCommandInterpreterRunOptions { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBCommandReturnObjectExtensions.i =================================================================== --- lldb/bindings/interface/SBCommandReturnObjectExtensions.i +++ lldb/bindings/interface/SBCommandReturnObjectExtensions.i @@ -1,6 +1,30 @@ STRING_EXTENSION_OUTSIDE(SBCommandReturnObject) %extend lldb::SBCommandReturnObject { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif + // transfer_ownership does nothing, and is here for compatibility with // old scripts. Ownership is tracked by reference count in the ordinary way. Index: lldb/bindings/interface/SBCommunicationExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBCommunicationExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBCommunication) + +%extend lldb::SBCommunication { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __len__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBCompileUnitExtensions.i =================================================================== --- lldb/bindings/interface/SBCompileUnitExtensions.i +++ lldb/bindings/interface/SBCompileUnitExtensions.i @@ -3,6 +3,15 @@ %extend lldb::SBCompileUnit { #ifdef SWIGPYTHON %pythoncode %{ + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all line entries in a lldb.SBCompileUnit object.''' return lldb_iter(self, 'GetNumLineEntries', 'GetLineEntryAtIndex') Index: lldb/bindings/interface/SBDataExtensions.i =================================================================== --- lldb/bindings/interface/SBDataExtensions.i +++ lldb/bindings/interface/SBDataExtensions.i @@ -3,6 +3,23 @@ %extend lldb::SBData { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + return self.GetByteSize() + + def __iter__(self): + pass class read_data_helper: def __init__(self, sbdata, readerfunc, item_size): Index: lldb/bindings/interface/SBDebuggerExtensions.i =================================================================== --- lldb/bindings/interface/SBDebuggerExtensions.i +++ lldb/bindings/interface/SBDebuggerExtensions.i @@ -24,6 +24,15 @@ file = sys.stderr self.SetErrorFile(SBFile.Create(file, borrow=True)) + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all targets in a lldb.SBDebugger object.''' return lldb_iter(self, 'GetNumTargets', 'GetTargetAtIndex') Index: lldb/bindings/interface/SBDeclarationExtensions.i =================================================================== --- lldb/bindings/interface/SBDeclarationExtensions.i +++ lldb/bindings/interface/SBDeclarationExtensions.i @@ -3,6 +3,21 @@ %extend lldb::SBDeclaration { #ifdef SWIGPYTHON %pythoncode %{ + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + 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.''') Index: lldb/bindings/interface/SBEnvironmentExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBEnvironmentExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBEnvironment) + +%extend lldb::SBEnvironment { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBErrorExtensions.i =================================================================== --- lldb/bindings/interface/SBErrorExtensions.i +++ lldb/bindings/interface/SBErrorExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBError { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + return self.GetError() + + def __hex__(self): + return self.GetError() + + def __oct__(self): + return self.GetError() + + def __len__(self): + pass + + def __iter__(self): + pass + value = property(GetError, None, doc='''A read only property that returns the same result as GetError().''') fail = property(Fail, None, doc='''A read only property that returns the same result as Fail().''') success = property(Success, None, doc='''A read only property that returns the same result as Success().''') Index: lldb/bindings/interface/SBEventExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBEventExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBEvent) + +%extend lldb::SBEvent { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBExecutionContextExtensions.i =================================================================== --- lldb/bindings/interface/SBExecutionContextExtensions.i +++ lldb/bindings/interface/SBExecutionContextExtensions.i @@ -1,6 +1,21 @@ %extend lldb::SBExecutionContext { #ifdef SWIGPYTHON %pythoncode %{ + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + target = property(GetTarget, None, doc='''A read only property that returns the same result as GetTarget().''') process = property(GetProcess, None, doc='''A read only property that returns the same result as GetProcess().''') thread = property(GetThread, None, doc='''A read only property that returns the same result as GetThread().''') Index: lldb/bindings/interface/SBExpressionOptionsExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBExpressionOptionsExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBExpressionOptions) + +%extend lldb::SBExpressionOptions { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBFileExtensions.i =================================================================== --- lldb/bindings/interface/SBFileExtensions.i +++ lldb/bindings/interface/SBFileExtensions.i @@ -11,6 +11,24 @@ #ifdef SWIGPYTHON %pythoncode { + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + @classmethod def Create(cls, file, borrow=False, force_io_methods=False): """ Index: lldb/bindings/interface/SBFileSpecExtensions.i =================================================================== --- lldb/bindings/interface/SBFileSpecExtensions.i +++ lldb/bindings/interface/SBFileSpecExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBFileSpec { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + fullpath = property(str, None, doc='''A read only property that returns the fullpath as a python string.''') basename = property(GetFilename, None, doc='''A read only property that returns the path basename as a python string.''') dirname = property(GetDirectory, None, doc='''A read only property that returns the path directory name as a python string.''') Index: lldb/bindings/interface/SBFileSpecListExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBFileSpecListExtensions.i @@ -0,0 +1,29 @@ +STRING_EXTENSION_OUTSIDE(SBFileSpecList) + +%extend lldb::SBFileSpecList { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + '''Return the number of FileSpec in a lldb.SBFileSpecList object.''' + return self.GetSize() + + def __iter__(self): + '''Iterate over all FileSpecs in a lldb.SBFileSpecList object.''' + return lldb_iter(self, 'GetSize', 'GetFileSpecAtIndex') + %} +#endif +} Index: lldb/bindings/interface/SBFrameExtensions.i =================================================================== --- lldb/bindings/interface/SBFrameExtensions.i +++ lldb/bindings/interface/SBFrameExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBFrame { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + def get_all_variables(self): return self.GetVariables(True,True,True,True) Index: lldb/bindings/interface/SBFunctionExtensions.i =================================================================== --- lldb/bindings/interface/SBFunctionExtensions.i +++ lldb/bindings/interface/SBFunctionExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBFunction { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + def get_instructions_from_current_target (self): return self.GetInstructions (target) Index: lldb/bindings/interface/SBHostOSExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBHostOSExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBHostOS) + +%extend lldb::SBHostOS { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBInstructionExtensions.i =================================================================== --- lldb/bindings/interface/SBInstructionExtensions.i +++ lldb/bindings/interface/SBInstructionExtensions.i @@ -3,6 +3,26 @@ %extend lldb::SBInstruction { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + """ Returns the address of the instruction. """ + return self.GetAddress() + + def __oct__(self): + pass + + def __len__(self): + """ Returns the size of the instruction. """ + return self.GetByteSize() + + def __iter__(self): + pass + def __mnemonic_property__ (self): return self.GetMnemonic (target) def __operands_property__ (self): Index: lldb/bindings/interface/SBInstructionListExtensions.i =================================================================== --- lldb/bindings/interface/SBInstructionListExtensions.i +++ lldb/bindings/interface/SBInstructionListExtensions.i @@ -3,6 +3,15 @@ %extend lldb::SBInstructionList { #ifdef SWIGPYTHON %pythoncode %{ + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all instructions in a lldb.SBInstructionList object.''' Index: lldb/bindings/interface/SBLanguageRuntimeExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBLanguageRuntimeExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBLanguageRuntime) + +%extend lldb::SBLanguageRuntime { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBLaunchInfoExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBLaunchInfoExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBLaunchInfo) + +%extend lldb::SBLaunchInfo { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBLineEntryExtensions.i =================================================================== --- lldb/bindings/interface/SBLineEntryExtensions.i +++ lldb/bindings/interface/SBLineEntryExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBLineEntry { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + return self.GetLine() + + def __hex__(self): + return self.GetStartAddress() + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + 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.''') Index: lldb/bindings/interface/SBListenerExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBListenerExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBListener) + +%extend lldb::SBListener { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBMemoryRegionInfoExtensions.i =================================================================== --- lldb/bindings/interface/SBMemoryRegionInfoExtensions.i +++ lldb/bindings/interface/SBMemoryRegionInfoExtensions.i @@ -1 +1,27 @@ STRING_EXTENSION_OUTSIDE(SBMemoryRegionInfo) + +%extend lldb::SBMemoryRegionInfo { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + return self.GetRegionBase() + + def __oct__(self): + pass + + def __len__(self): + return self.GetRegionEnd() - self.GetRegionBase() + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBMemoryRegionInfoListExtensions.i @@ -0,0 +1,29 @@ +STRING_EXTENSION_OUTSIDE(SBMemoryRegionInfoList) + +%extend lldb::SBMemoryRegionInfoList { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + '''Return the number of memory region info in a lldb.SBMemoryRegionInfoList object.''' + return self.GetSize() + + def __iter__(self): + '''Iterate over all the memory regions in a lldb.SBMemoryRegionInfoList object.''' + return lldb_iter(self, 'GetSize', 'GetMemoryRegionAtIndex') + %} +#endif +} Index: lldb/bindings/interface/SBModuleExtensions.i =================================================================== --- lldb/bindings/interface/SBModuleExtensions.i +++ lldb/bindings/interface/SBModuleExtensions.i @@ -28,6 +28,18 @@ %extend lldb::SBModule { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __len__(self): '''Return the number of symbols in a lldb.SBModule object.''' return self.GetNumSymbols() Index: lldb/bindings/interface/SBModuleSpecExtensions.i =================================================================== --- lldb/bindings/interface/SBModuleSpecExtensions.i +++ lldb/bindings/interface/SBModuleSpecExtensions.i @@ -1,3 +1,27 @@ STRING_EXTENSION_OUTSIDE(SBModuleSpec) -STRING_EXTENSION_OUTSIDE(SBModuleSpecList) +%extend lldb::SBModuleSpec { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBModuleSpecListExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBModuleSpecListExtensions.i @@ -0,0 +1,30 @@ +STRING_EXTENSION_OUTSIDE(SBModuleSpecList) + +%extend lldb::SBModuleSpecList { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + '''Return the number of ModuleSpec in a lldb.SBModuleSpecList object.''' + return self.GetSize() + + def __iter__(self): + '''Iterate over all ModuleSpecs in a lldb.SBModuleSpecList object.''' + return lldb_iter(self, 'GetSize', 'GetSpecAtIndex') + %} +#endif +} + Index: lldb/bindings/interface/SBPlatformConnectOptionsExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBPlatformConnectOptionsExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBPlatformConnectOptions) + +%extend lldb::SBPlatformConnectOptions { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBPlatformExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBPlatformExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBPlatform) + +%extend lldb::SBPlatform { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBPlatformShellCommandExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBPlatformShellCommandExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBPlatformShellCommand) + +%extend lldb::SBPlatformShellCommand { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBProcessExtensions.i =================================================================== --- lldb/bindings/interface/SBProcessExtensions.i +++ lldb/bindings/interface/SBProcessExtensions.i @@ -79,6 +79,14 @@ '''Return the number of threads in a lldb.SBProcess object.''' return self.GetNumThreads() + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass threads = property(get_process_thread_list, None, doc='''A read only property that returns a list() of lldb.SBThread objects for this process.''') thread = property(get_threads_access_object, None, doc='''A read only property that returns an object that can access threads by thread index (thread = lldb.process.thread[12]).''') Index: lldb/bindings/interface/SBProcessInfoExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBProcessInfoExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBProcessInfo) + +%extend lldb::SBProcessInfo { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBQueueExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBQueueExtensions.i @@ -0,0 +1,28 @@ +STRING_EXTENSION_OUTSIDE(SBQueue) + +%extend lldb::SBQueue { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} + Index: lldb/bindings/interface/SBQueueItemExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBQueueItemExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBQueueItem) + +%extend lldb::SBQueueItem { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + return self.GetAddress() + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBReproducerExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBReproducerExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBReproducer) + +%extend lldb::SBReproducer { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBScriptObjectExtensions.i =================================================================== --- lldb/bindings/interface/SBScriptObjectExtensions.i +++ lldb/bindings/interface/SBScriptObjectExtensions.i @@ -1,6 +1,26 @@ +STRING_EXTENSION_OUTSIDE(SBScriptObject) + %extend lldb::SBScriptObject { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + ptr = property(GetPointer, None, doc='''A read only property that returns the underlying script object.''') lang = property(GetLanguage, None, doc='''A read only property that returns the script language associated with with this script object.''') %} Index: lldb/bindings/interface/SBSectionExtensions.i =================================================================== --- lldb/bindings/interface/SBSectionExtensions.i +++ lldb/bindings/interface/SBSectionExtensions.i @@ -3,6 +3,18 @@ %extend lldb::SBSection { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all subsections in a lldb.SBSection object.''' return lldb_iter(self, 'GetNumSubSections', 'GetSubSectionAtIndex') Index: lldb/bindings/interface/SBSourceManagerExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBSourceManagerExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBSourceManager) + +%extend lldb::SBSourceManager { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBStreamExtensions.i =================================================================== --- lldb/bindings/interface/SBStreamExtensions.i +++ lldb/bindings/interface/SBStreamExtensions.i @@ -1,4 +1,28 @@ %extend lldb::SBStream { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + return self.GetSize() + + def __iter__(self): + pass + %} +#endif + %feature("autodoc", "DEPRECATED, use RedirectToFile") RedirectToFileHandle; void RedirectToFileHandle (lldb::FileSP file, bool transfer_fh_ownership) { Index: lldb/bindings/interface/SBStringListExtensions.i =================================================================== --- lldb/bindings/interface/SBStringListExtensions.i +++ lldb/bindings/interface/SBStringListExtensions.i @@ -1,6 +1,15 @@ %extend lldb::SBStringList { #ifdef SWIGPYTHON %pythoncode%{ + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all strings in a lldb.SBStringList object.''' return lldb_iter(self, 'GetSize', 'GetStringAtIndex') Index: lldb/bindings/interface/SBStructuredDataExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBStructuredDataExtensions.i @@ -0,0 +1,29 @@ +STRING_EXTENSION_OUTSIDE(SBStructuredData) + +%extend lldb::SBStructuredData { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + return self.GetSignedInteger() + + def __hex__(self): + return hex(self.GetSignedInteger()) + + def __oct__(self): + return oct(self.GetSignedInteger()) + + def __len__(self): + '''Return the number of element in a lldb.SBStructuredData object.''' + return self.GetSize() + + def __iter__(self): + '''Iterate over all the elements in a lldb.SBStructuredData object.''' + return lldb_iter(self, 'GetSize', 'GetItemAtIndex') + %} +#endif +} Index: lldb/bindings/interface/SBSymbolContextExtensions.i =================================================================== --- lldb/bindings/interface/SBSymbolContextExtensions.i +++ lldb/bindings/interface/SBSymbolContextExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBSymbolContext { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + module = property(GetModule, SetModule, doc='''A read/write property that allows the getting/setting of the module (lldb.SBModule) in this symbol context.''') compile_unit = property(GetCompileUnit, SetCompileUnit, doc='''A read/write property that allows the getting/setting of the compile unit (lldb.SBCompileUnit) in this symbol context.''') function = property(GetFunction, SetFunction, doc='''A read/write property that allows the getting/setting of the function (lldb.SBFunction) in this symbol context.''') Index: lldb/bindings/interface/SBSymbolContextListExtensions.i =================================================================== --- lldb/bindings/interface/SBSymbolContextListExtensions.i +++ lldb/bindings/interface/SBSymbolContextListExtensions.i @@ -11,6 +11,15 @@ def __len__(self): return int(self.GetSize()) + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __getitem__(self, key): count = len(self) if isinstance(key, int): Index: lldb/bindings/interface/SBSymbolExtensions.i =================================================================== --- lldb/bindings/interface/SBSymbolExtensions.i +++ lldb/bindings/interface/SBSymbolExtensions.i @@ -3,6 +3,24 @@ %extend lldb::SBSymbol { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + return self.GetStartAddress() + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + def get_instructions_from_current_target (self): return self.GetInstructions (target) Index: lldb/bindings/interface/SBTargetExtensions.i =================================================================== --- lldb/bindings/interface/SBTargetExtensions.i +++ lldb/bindings/interface/SBTargetExtensions.i @@ -32,6 +32,24 @@ %extend lldb::SBTarget { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + class modules_access(object): '''A helper object that will lazily hand out lldb.SBModule objects for a target when supplied an index, or by full or partial path.''' def __init__(self, sbtarget): Index: lldb/bindings/interface/SBThreadCollectionExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBThreadCollectionExtensions.i @@ -0,0 +1,29 @@ +STRING_EXTENSION_OUTSIDE(SBThreadCollection) + +%extend lldb::SBThreadCollection { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + '''Iterate over all threads in a lldb.SBThreadCollection object.''' + return lldb_iter(self, 'GetSize', 'GetThreadAtIndex') + + def __len__(self): + '''Return the number of threads in a lldb.SBThreadCollection object.''' + return self.GetSize() + %} +#endif +} Index: lldb/bindings/interface/SBThreadExtensions.i =================================================================== --- lldb/bindings/interface/SBThreadExtensions.i +++ lldb/bindings/interface/SBThreadExtensions.i @@ -3,6 +3,18 @@ %extend lldb::SBThread { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all frames in a lldb.SBThread object.''' return lldb_iter(self, 'GetNumFrames', 'GetFrameAtIndex') Index: lldb/bindings/interface/SBThreadPlanExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBThreadPlanExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBThreadPlan) + +%extend lldb::SBThreadPlan { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBTraceCursorExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBTraceCursorExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBTraceCursor) + +%extend lldb::SBTraceCursor { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBTraceExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBTraceExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBTrace) + +%extend lldb::SBTrace { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBTypeCategoryExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeCategoryExtensions.i +++ lldb/bindings/interface/SBTypeCategoryExtensions.i @@ -3,6 +3,23 @@ %extend lldb::SBTypeCategory { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass class formatters_access_class(object): '''A helper object that will lazily hand out formatters for a specific category.''' Index: lldb/bindings/interface/SBTypeEnumMemberExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeEnumMemberExtensions.i +++ lldb/bindings/interface/SBTypeEnumMemberExtensions.i @@ -2,6 +2,26 @@ %extend lldb::SBTypeEnumMember { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __iter__(self): + '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' + return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') + + def __len__(self): + '''Return the number of members in a lldb.SBTypeEnumMemberList object.''' + return self.GetSize() + name = property(GetName, None, doc='''A read only property that returns the name for this enum member as a string.''') type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this enum member.''') signed = property(GetValueAsSigned, None, doc='''A read only property that returns the value of this enum member as a signed integer.''') @@ -13,6 +33,18 @@ %extend lldb::SBTypeEnumMemberList { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all members in a lldb.SBTypeEnumMemberList object.''' return lldb_iter(self, 'GetSize', 'GetTypeEnumMemberAtIndex') Index: lldb/bindings/interface/SBTypeExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeExtensions.i +++ lldb/bindings/interface/SBTypeExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeMember { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + name = property(GetName, None, doc='''A read only property that returns the name for this member as a string.''') type = property(GetType, None, doc='''A read only property that returns an lldb object that represents the type (lldb.SBType) for this member.''') byte_offset = property(GetOffsetInBytes, None, doc='''A read only property that returns offset in bytes for this member as an integer.''') @@ -14,6 +32,32 @@ STRING_EXTENSION_LEVEL_OUTSIDE(SBTypeMemberFunction, lldb::eDescriptionLevelBrief) +%extend lldb::SBTypeMemberFunction { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} + STRING_EXTENSION_LEVEL_OUTSIDE(SBType, lldb::eDescriptionLevelBrief) %extend lldb::SBType { @@ -28,6 +72,24 @@ return template_args return None + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + return self.GetByteSize() + + def __iter__(self): + pass + module = property(GetModule, None, doc='''A read only property that returns the module in which type is defined.''') name = property(GetName, None, doc='''A read only property that returns the name for this type as a string.''') size = property(GetByteSize, None, doc='''A read only property that returns size in bytes for this type as an integer.''') @@ -121,6 +183,18 @@ %extend lldb::SBTypeList { #ifdef SWIGPYTHON %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all types in a lldb.SBTypeList object.''' return lldb_iter(self, 'GetSize', 'GetTypeAtIndex') Index: lldb/bindings/interface/SBTypeFilterExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeFilterExtensions.i +++ lldb/bindings/interface/SBTypeFilterExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeFilter { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + options = property(GetOptions, SetOptions) count = property(GetNumberOfExpressionPaths) %} Index: lldb/bindings/interface/SBTypeFormatExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeFormatExtensions.i +++ lldb/bindings/interface/SBTypeFormatExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeFormat { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + format = property(GetFormat, SetFormat) options = property(GetOptions, SetOptions) %} Index: lldb/bindings/interface/SBTypeNameSpecifierExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeNameSpecifierExtensions.i +++ lldb/bindings/interface/SBTypeNameSpecifierExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeNameSpecifier { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + name = property(GetName) is_regex = property(IsRegex) %} Index: lldb/bindings/interface/SBTypeSummaryExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeSummaryExtensions.i +++ lldb/bindings/interface/SBTypeSummaryExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeSummary { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + options = property(GetOptions, SetOptions) is_summary_string = property(IsSummaryString) is_function_name = property(IsFunctionName) Index: lldb/bindings/interface/SBTypeSummaryOptionsExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBTypeSummaryOptionsExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBTypeSummaryOptions) + +%extend lldb::SBTypeSummaryOptions { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBTypeSyntheticExtensions.i =================================================================== --- lldb/bindings/interface/SBTypeSyntheticExtensions.i +++ lldb/bindings/interface/SBTypeSyntheticExtensions.i @@ -2,6 +2,24 @@ %extend lldb::SBTypeSynthetic { #ifdef SWIGPYTHON %pythoncode %{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + options = property(GetOptions, SetOptions) contains_code = property(IsClassCode, None) synthetic_data = property(GetData, None) Index: lldb/bindings/interface/SBUnixSignalsExtensions.i =================================================================== --- lldb/bindings/interface/SBUnixSignalsExtensions.i +++ lldb/bindings/interface/SBUnixSignalsExtensions.i @@ -1,6 +1,25 @@ %extend lldb::SBUnixSignals { #ifdef SWIGPYTHON %pythoncode %{ + def __iter__(self): + '''Iterate over all signals in a lldb.SBUnixSignals object.''' + return lldb_iter(self, 'GetNumSignals', 'GetSignalAtIndex') + + def __len__(self): + return int(self.GetNumSignals()) + + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def get_unix_signals_list(self): signals = [] for idx in range(0, self.GetNumSignals()): Index: lldb/bindings/interface/SBValueExtensions.i =================================================================== --- lldb/bindings/interface/SBValueExtensions.i +++ lldb/bindings/interface/SBValueExtensions.i @@ -37,6 +37,18 @@ children.append(accessor[idx]) return children + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + return self.GetAddress() + + def __oct__(self): + pass + def __iter__(self): '''Iterate over all child values of a lldb.SBValue object.''' return lldb_iter(self, 'GetNumChildren', 'GetChildAtIndex') Index: lldb/bindings/interface/SBValueListExtensions.i =================================================================== --- lldb/bindings/interface/SBValueListExtensions.i +++ lldb/bindings/interface/SBValueListExtensions.i @@ -34,6 +34,18 @@ def __len__(self): return int(self.GetSize()) + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + def __getitem__(self, key): count = len(self) #------------------------------------------------------------ Index: lldb/bindings/interface/SBVariablesOptionsExtensions.i =================================================================== --- /dev/null +++ lldb/bindings/interface/SBVariablesOptionsExtensions.i @@ -0,0 +1,27 @@ +STRING_EXTENSION_OUTSIDE(SBVariablesOptions) + +%extend lldb::SBVariablesOptions { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interface/SBWatchpointExtensions.i =================================================================== --- lldb/bindings/interface/SBWatchpointExtensions.i +++ lldb/bindings/interface/SBWatchpointExtensions.i @@ -1 +1,27 @@ STRING_EXTENSION_LEVEL_OUTSIDE(SBWatchpoint, lldb::eDescriptionLevelVerbose) + +%extend lldb::SBWatchpoint { +#ifdef SWIGPYTHON + // operator== is a free function, which swig does not handle, so we inject + // our own equality operator here + %pythoncode%{ + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + return self.GetWatchAddress() + + def __oct__(self): + pass + + def __len__(self): + return self.GetWatchSize() + + def __iter__(self): + pass + %} +#endif +} Index: lldb/bindings/interfaces.swig =================================================================== --- lldb/bindings/interfaces.swig +++ lldb/bindings/interfaces.swig @@ -155,46 +155,78 @@ /* Extensions for SB classes */ %include "./interface/SBAddressExtensions.i" +%include "./interface/SBAttachInfoExtensions.i" %include "./interface/SBBlockExtensions.i" %include "./interface/SBBreakpointExtensions.i" +%include "./interface/SBBreakpointListExtensions.i" %include "./interface/SBBreakpointLocationExtensions.i" %include "./interface/SBBreakpointNameExtensions.i" +%include "./interface/SBBroadcastExtensions.i" +%include "./interface/SBCommandInterpreterExtensions.i" +%include "./interface/SBCommandInterpreterRunOptionsExtensions.i" %include "./interface/SBCommandReturnObjectExtensions.i" +%include "./interface/SBCommunicationExtensions.i" %include "./interface/SBCompileUnitExtensions.i" %include "./interface/SBDataExtensions.i" %include "./interface/SBDebuggerExtensions.i" %include "./interface/SBDeclarationExtensions.i" +%include "./interface/SBEnvironmentExtensions.i" %include "./interface/SBErrorExtensions.i" +%include "./interface/SBEventExtensions.i" %include "./interface/SBExecutionContextExtensions.i" +%include "./interface/SBExpressionOptionsExtensions.i" %include "./interface/SBFileExtensions.i" %include "./interface/SBFileSpecExtensions.i" +%include "./interface/SBFileSpecListExtensions.i" %include "./interface/SBFrameExtensions.i" %include "./interface/SBFunctionExtensions.i" +%include "./interface/SBHostOSExtensions.i" %include "./interface/SBInstructionExtensions.i" %include "./interface/SBInstructionListExtensions.i" +%include "./interface/SBLanguageRuntimeExtensions.i" +%include "./interface/SBLaunchInfoExtensions.i" %include "./interface/SBLineEntryExtensions.i" +%include "./interface/SBListenerExtensions.i" %include "./interface/SBMemoryRegionInfoExtensions.i" +%include "./interface/SBMemoryRegionInfoListExtensions.i" %include "./interface/SBModuleExtensions.i" %include "./interface/SBModuleSpecExtensions.i" +%include "./interface/SBModuleSpecListExtensions.i" +%include "./interface/SBPlatformConnectOptionsExtensions.i" +%include "./interface/SBPlatformExtensions.i" +%include "./interface/SBPlatformShellCommandExtensions.i" %include "./interface/SBProcessExtensions.i" +%include "./interface/SBProcessInfoExtensions.i" +%include "./interface/SBQueueExtensions.i" +%include "./interface/SBQueueItemExtensions.i" +%include "./interface/SBReproducerExtensions.i" %include "./interface/SBScriptObjectExtensions.i" %include "./interface/SBSectionExtensions.i" +%include "./interface/SBSourceManagerExtensions.i" %include "./interface/SBStreamExtensions.i" %include "./interface/SBStringListExtensions.i" -%include "./interface/SBSymbolExtensions.i" +%include "./interface/SBStructuredDataExtensions.i" +%include "./interface/SBSymbolContextExtensions.i" %include "./interface/SBSymbolContextExtensions.i" %include "./interface/SBSymbolContextListExtensions.i" +%include "./interface/SBSymbolExtensions.i" %include "./interface/SBTargetExtensions.i" +%include "./interface/SBThreadCollectionExtensions.i" %include "./interface/SBThreadExtensions.i" -%include "./interface/SBTypeExtensions.i" +%include "./interface/SBThreadPlanExtensions.i" +%include "./interface/SBTraceCursorExtensions.i" +%include "./interface/SBTraceExtensions.i" %include "./interface/SBTypeCategoryExtensions.i" %include "./interface/SBTypeEnumMemberExtensions.i" +%include "./interface/SBTypeExtensions.i" %include "./interface/SBTypeFilterExtensions.i" %include "./interface/SBTypeFormatExtensions.i" %include "./interface/SBTypeNameSpecifierExtensions.i" %include "./interface/SBTypeSummaryExtensions.i" +%include "./interface/SBTypeSummaryOptionsExtensions.i" %include "./interface/SBTypeSyntheticExtensions.i" %include "./interface/SBUnixSignalsExtensions.i" %include "./interface/SBValueExtensions.i" %include "./interface/SBValueListExtensions.i" +%include "./interface/SBVariablesOptionsExtensions.i" %include "./interface/SBWatchpointExtensions.i" Index: lldb/bindings/python/python-extensions.swig =================================================================== --- lldb/bindings/python/python-extensions.swig +++ lldb/bindings/python/python-extensions.swig @@ -289,6 +289,24 @@ self.line = line self.col = col + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + pass + + def __iter__(self): + pass + class value_iter(object): '''Allows iterating over the children of an :py:class:`SBValue`.''' def __iter__(self): @@ -304,8 +322,24 @@ def next(self): return self.__next__() + def __eq__(self, other): + return not self.__ne__(other) + + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + return self.length + def __init__(self,value): self.index = 0 + self.length = 0 self.sbvalue = value if type(self.sbvalue) is value: self.sbvalue = self.sbvalue.sbvalue @@ -546,6 +580,21 @@ def has_children(self): return False + def __int__(self): + pass + + def __hex__(self): + pass + + def __oct__(self): + pass + + def __len__(self): + return self.num_children() + + def __iter__(self): + '''Iterate over all children in a lldb.SBSyntheticValueProvider object.''' + return lldb_iter(self, 'num_children', 'get_child_at_index') %} Index: lldb/bindings/python/python.swig =================================================================== --- lldb/bindings/python/python.swig +++ lldb/bindings/python/python.swig @@ -106,6 +106,21 @@ elem = getattr(obj, getelem) for i in range(size()): yield elem(i) + +def __int__(self): + pass + +def __hex__(self): + pass + +def __oct__(self): + pass + +def __len__(self): + pass + +def __iter__(self): + pass %} %include Index: lldb/docs/conf.py =================================================================== --- lldb/docs/conf.py +++ lldb/docs/conf.py @@ -170,7 +170,7 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] +# html_static_path = ["_static"] html_extra_path = [".htaccess"] Index: lldb/docs/python_api.rst =================================================================== --- lldb/docs/python_api.rst +++ lldb/docs/python_api.rst @@ -8,91 +8,3 @@ Without this list .. automodapi:: lldb :no-inheritance-diagram: - :skip: SBBreakpoint_EventIsBreakpointEvent - :skip: SBBreakpoint_GetBreakpointEventTypeFromEvent - :skip: SBBreakpoint_GetBreakpointFromEvent - :skip: SBBreakpoint_GetBreakpointLocationAtIndexFromEvent - :skip: SBBreakpoint_GetNumBreakpointLocationsFromEvent - :skip: SBCommandInterpreter_EventIsCommandInterpreterEvent - :skip: SBCommandInterpreter_GetArgumentDescriptionAsCString - :skip: SBCommandInterpreter_GetArgumentTypeAsCString - :skip: SBCommandInterpreter_GetBroadcasterClass - :skip: SBCommunication_GetBroadcasterClass - :skip: SBData_CreateDataFromCString - :skip: SBData_CreateDataFromDoubleArray - :skip: SBData_CreateDataFromSInt32Array - :skip: SBData_CreateDataFromSInt64Array - :skip: SBData_CreateDataFromUInt32Array - :skip: SBData_CreateDataFromUInt64Array - :skip: SBDebugger_Create - :skip: SBDebugger_Create - :skip: SBDebugger_Destroy - :skip: SBDebugger_FindDebuggerWithID - :skip: SBDebugger_GetBuildConfiguration - :skip: SBDebugger_GetDefaultArchitecture - :skip: SBDebugger_GetInternalVariableValue - :skip: SBDebugger_GetVersionString - :skip: SBDebugger_Initialize - :skip: SBDebugger_InitializeWithErrorHandling - :skip: SBDebugger_MemoryPressureDetected - :skip: SBDebugger_SetDefaultArchitecture - :skip: SBDebugger_SetInternalVariable - :skip: SBDebugger_StateAsCString - :skip: SBDebugger_StateIsRunningState - :skip: SBDebugger_StateIsStoppedState - :skip: SBDebugger_Terminate - :skip: SBEvent_GetCStringFromEvent - :skip: SBFileSpec_ResolvePath - :skip: SBFile_MakeBorrowed - :skip: SBFile_MakeBorrowedForcingIOMethods - :skip: SBFile_MakeForcingIOMethods - :skip: SBHostOS_GetLLDBPath - :skip: SBHostOS_GetLLDBPythonPath - :skip: SBHostOS_GetProgramFileSpec - :skip: SBHostOS_GetUserHomeDirectory - :skip: SBHostOS_ThreadCancel - :skip: SBHostOS_ThreadCreate - :skip: SBHostOS_ThreadCreated - :skip: SBHostOS_ThreadDetach - :skip: SBHostOS_ThreadJoin - :skip: SBLanguageRuntime_GetLanguageTypeFromString - :skip: SBLanguageRuntime_GetNameForLanguageType - :skip: SBModuleSpecList_GetModuleSpecifications - :skip: SBModule_GarbageCollectAllocatedModules - :skip: SBModule_GetNumberAllocatedModules - :skip: SBPlatform_GetHostPlatform - :skip: SBProcess_EventIsProcessEvent - :skip: SBProcess_EventIsStructuredDataEvent - :skip: SBProcess_GetBroadcasterClassName - :skip: SBProcess_GetInterruptedFromEvent - :skip: SBProcess_GetNumRestartedReasonsFromEvent - :skip: SBProcess_GetProcessFromEvent - :skip: SBProcess_GetRestartedFromEvent - :skip: SBProcess_GetRestartedReasonAtIndexFromEvent - :skip: SBProcess_GetStateFromEvent - :skip: SBProcess_GetStructuredDataFromEvent - :skip: SBReproducer_Capture - :skip: SBReproducer_PassiveReplay - :skip: SBReproducer_SetAutoGenerate - :skip: SBReproducer_SetWorkingDirectory - :skip: SBTarget_EventIsTargetEvent - :skip: SBTarget_GetBroadcasterClassName - :skip: SBTarget_GetModuleAtIndexFromEvent - :skip: SBTarget_GetNumModulesFromEvent - :skip: SBTarget_GetTargetFromEvent - :skip: SBThread_EventIsThreadEvent - :skip: SBThread_GetBroadcasterClassName - :skip: SBThread_GetStackFrameFromEvent - :skip: SBThread_GetThreadFromEvent - :skip: SBTypeSummary_CreateWithFunctionName - :skip: SBTypeSummary_CreateWithScriptCode - :skip: SBTypeSummary_CreateWithSummaryString - :skip: SBTypeSynthetic_CreateWithClassName - :skip: SBTypeSynthetic_CreateWithScriptCode - :skip: SBWatchpoint_EventIsWatchpointEvent - :skip: SBWatchpoint_GetWatchpointEventTypeFromEvent - :skip: SBWatchpoint_GetWatchpointFromEvent - :skip: command - :skip: in_range - :skip: is_numeric_type - :skip: lldb_iter