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