SBInstructionList.h revision af59180d46b42665dba3ea581fc501bb9fcb1fb7
1a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher//===-- SBInstructionList.h -------------------------------------*- C++ -*-===// 2a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// 3a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// The LLVM Compiler Infrastructure 4a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// 5a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// This file is distributed under the University of Illinois Open Source 6a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// License. See LICENSE.TXT for details. 7a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher// 8a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher//===----------------------------------------------------------------------===// 9a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher 10a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher#ifndef LLDB_SBInstructionList_h_ 11a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher#define LLDB_SBInstructionList_h_ 12a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher 13a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher#include "lldb/API/SBDefines.h" 14a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher 15a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher#include <stdio.h> 16a11d129aa8ad9fa123e72d0663c327d5578d2602Eric Christopher 17namespace lldb { 18 19class SBInstructionList 20{ 21public: 22 23 SBInstructionList (); 24 25 SBInstructionList (const SBInstructionList &rhs); 26 27#ifndef SWIG 28 const SBInstructionList & 29 operator = (const SBInstructionList &rhs); 30#endif 31 32 ~SBInstructionList (); 33 34 size_t 35 GetSize (); 36 37 lldb::SBInstruction 38 GetInstructionAtIndex (uint32_t idx); 39 40 void 41 Clear (); 42 43 void 44 AppendInstruction (lldb::SBInstruction inst); 45 46 void 47 Print (FILE *out); 48 49 bool 50 GetDescription (lldb::SBStream &description); 51 52 bool 53 DumpEmulationForAllInstructions (const char *triple); 54 55protected: 56 friend class SBFunction; 57 friend class SBSymbol; 58 59 void 60 SetDisassembler (const lldb::DisassemblerSP &opaque_sp); 61 62private: 63 lldb::DisassemblerSP m_opaque_sp; 64}; 65 66 67} // namespace lldb 68 69#endif // LLDB_SBInstructionList_h_ 70