SBInstruction.h revision 98f930f429160f9777f626c3ac6aa609f4e965d2
1//===-- SBInstruction.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_SBInstruction_h_
11#define LLDB_SBInstruction_h_
12
13#include "lldb/API/SBDefines.h"
14
15#include <stdio.h>
16
17// There's a lot to be fixed here, but need to wait for underlying insn implementation
18// to be revised & settle down first.
19
20//class lldb_private::Disassembler::Instruction;
21
22namespace lldb {
23
24class SBInstruction
25{
26public:
27
28    //SBInstruction (lldb_private::Disassembler::Instruction *lldb_insn);
29
30    SBInstruction ();
31
32    ~SBInstruction ();
33
34    //bool
35    //IsValid();
36
37    //size_t
38    //GetByteSize ();
39
40    //void
41    //SetByteSize (size_t byte_size);
42
43    //bool
44    //DoesBranch ();
45
46    void
47    Print (FILE *out);
48
49    //bool
50    //GetDescription (lldb::SBStream &description);
51
52    // The following function gets called by Python when a user tries to print
53    // an object of this class.  It takes no arguments and returns a
54    // PyObject * representing a char * (and it must be named "__repr__");
55
56    //PyObject *
57    //__repr__ ();
58
59private:
60
61    //lldb_private::Disassembler::Instruction::SharedPtr  m_opaque_sp;
62
63
64};
65
66
67} // namespace lldb
68
69#endif // LLDB_SBInstruction_h_
70