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