blob: cf82ad9e4d6404727f31725ac77eff8d1371bc9b [file] [log] [blame]
Johnny Chen5cb6cab2011-07-19 22:41:47 +00001//===-- SWIG Interface for SBInstruction ------------------------*- 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#include <stdio.h>
11
12// There's a lot to be fixed here, but need to wait for underlying insn implementation
13// to be revised & settle down first.
14
15namespace lldb {
16
17class SBInstruction
18{
19public:
20
21 SBInstruction ();
22
23 SBInstruction (const SBInstruction &rhs);
24
25 ~SBInstruction ();
26
27 bool
28 IsValid();
29
30 SBAddress
31 GetAddress();
32
Greg Clayton23b8abb2011-09-26 07:11:27 +000033 const char *
34 GetOpcodeName (lldb::SBTarget target);
35
36 const char *
37 GetMnemonics (lldb::SBTarget target);
38
39 const char *
40 GetComment (lldb::SBTarget target);
41
42 lldb::SBData
43 GetData (lldb::SBTarget target);
44
Johnny Chen5cb6cab2011-07-19 22:41:47 +000045 size_t
46 GetByteSize ();
47
48 bool
49 DoesBranch ();
50
51 void
52 Print (FILE *out);
53
54 bool
55 GetDescription (lldb::SBStream &description);
56
57 bool
58 EmulateWithFrame (lldb::SBFrame &frame, uint32_t evaluate_options);
59
60 bool
61 DumpEmulation (const char * triple); // triple is to specify the architecture, e.g. 'armv6' or 'arm-apple-darwin'
62
63 bool
64 TestEmulation (lldb::SBStream &output_stream, const char *test_file);
65};
66
67} // namespace lldb