1 //===-- SBInstruction.h -----------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLDB_SBInstruction_h_
11 #define LLDB_SBInstruction_h_
13 #include "lldb/API/SBDefines.h"
14 #include "lldb/API/SBData.h"
18 // There's a lot to be fixed here, but need to wait for underlying insn implementation
19 // to be revised & settle down first.
29 SBInstruction (const SBInstruction &rhs);
32 operator = (const SBInstruction &rhs);
46 GetMnemonic (lldb::SBTarget target);
49 GetOperands (lldb::SBTarget target);
52 GetComment (lldb::SBTarget target);
55 GetData (lldb::SBTarget target);
67 GetDescription (lldb::SBStream &description);
70 EmulateWithFrame (lldb::SBFrame &frame, uint32_t evaluate_options);
73 DumpEmulation (const char * triple); // triple is to specify the architecture, e.g. 'armv6' or 'armv7-apple-ios'
76 TestEmulation (lldb::SBStream &output_stream, const char *test_file);
79 friend class SBInstructionList;
81 SBInstruction (const lldb::InstructionSP &inst_sp);
84 SetOpaque (const lldb::InstructionSP &inst_sp);
88 lldb::InstructionSP m_opaque_sp;
94 #endif // LLDB_SBInstruction_h_