diff options
Diffstat (limited to 'lldb/scripts/Python/interface/SBInstructionList.i')
-rw-r--r-- | lldb/scripts/Python/interface/SBInstructionList.i | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/lldb/scripts/Python/interface/SBInstructionList.i b/lldb/scripts/Python/interface/SBInstructionList.i deleted file mode 100644 index 32603be5cc1..00000000000 --- a/lldb/scripts/Python/interface/SBInstructionList.i +++ /dev/null @@ -1,91 +0,0 @@ -//===-- SWIG Interface for SBInstructionList --------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include <stdio.h> - -namespace lldb { - -%feature("docstring", -"Represents a list of machine instructions. SBFunction and SBSymbol have -GetInstructions() methods which return SBInstructionList instances. - -SBInstructionList supports instruction (SBInstruction instance) iteration. -For example (see also SBDebugger for a more complete example), - -def disassemble_instructions (insts): - for i in insts: - print i - -defines a function which takes an SBInstructionList instance and prints out -the machine instructions in assembly format." -) SBInstructionList; -class SBInstructionList -{ -public: - - SBInstructionList (); - - SBInstructionList (const SBInstructionList &rhs); - - ~SBInstructionList (); - - bool - IsValid () const; - - size_t - GetSize (); - - lldb::SBInstruction - GetInstructionAtIndex (uint32_t idx); - - void - Clear (); - - void - AppendInstruction (lldb::SBInstruction inst); - - void - Print (FILE *out); - - bool - GetDescription (lldb::SBStream &description); - - bool - DumpEmulationForAllInstructions (const char *triple); - - %pythoncode %{ - def __len__(self): - '''Access len of the instruction list.''' - return int(self.GetSize()) - - def __getitem__(self, key): - '''Access instructions by integer index for array access or by lldb.SBAddress to find an instruction that matches a section offset address object.''' - if type(key) is int: - # Find an instruction by index - if key < len(self): - return self.GetInstructionAtIndex(key) - elif type(key) is SBAddress: - # Find an instruction using a lldb.SBAddress object - lookup_file_addr = key.file_addr - closest_inst = None - for idx in range(self.GetSize()): - inst = self.GetInstructionAtIndex(idx) - inst_file_addr = inst.addr.file_addr - if inst_file_addr == lookup_file_addr: - return inst - elif inst_file_addr > lookup_file_addr: - return closest_inst - else: - closest_inst = inst - return None - %} - -}; - -} // namespace lldb |