85bc8b3d2c0b2cd640ba2651f8a72cdc4f9dfb7a
[oota-llvm.git] / lib / Target / ARM / Disassembler / ARMDisassembler.h
1 //===- X86Disassembler.h - Disassembler for x86 and x86_64 ------*- 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 //===----------------------------------------------------------------------===//
11
12 #ifndef ARMDISASSEMBLER_H
13 #define ARMDISASSEMBLER_H
14
15 #include "llvm/MC/MCDisassembler.h"
16
17 namespace llvm {
18   
19 class MCInst;
20 class MemoryObject;
21 class raw_ostream;
22   
23 namespace ARMDisassembler {
24
25 /// ARMDisassembler - ARM disassembler for all ARM platforms.
26 class ARMDisassembler : public MCDisassembler {
27 public:
28   /// Constructor     - Initializes the disassembler.
29   ///
30   ARMDisassembler() :
31     MCDisassembler() {
32   }
33
34   ~ARMDisassembler() {
35   }
36
37   /// getInstruction - See MCDisassembler.
38   bool getInstruction(MCInst &instr,
39                       uint64_t &size,
40                       const MemoryObject &region,
41                       uint64_t address,
42                       raw_ostream &vStream) const;
43 private:
44 };
45
46 /// ThumbDisassembler - Thumb disassembler for all ARM platforms.
47 class ThumbDisassembler : public MCDisassembler {
48 public:
49   /// Constructor     - Initializes the disassembler.
50   ///
51   ThumbDisassembler() :
52     MCDisassembler() {
53   }
54
55   ~ThumbDisassembler() {
56   }
57
58   /// getInstruction - See MCDisassembler.
59   bool getInstruction(MCInst &instr,
60                       uint64_t &size,
61                       const MemoryObject &region,
62                       uint64_t address,
63                       raw_ostream &vStream) const;
64 private:
65 };
66
67 } // namespace ARMDisassembler
68   
69 } // namespace llvm
70   
71 #endif