1//===- AArch64Disassembler.h - Disassembler for AArch64 ---------*- 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
13#ifndef AArch64DISASSEMBLER_H
14#define AArch64DISASSEMBLER_H
15
16#include "llvm/MC/MCDisassembler.h"
17
18namespace llvm {
19
20class MCInst;
21class MemoryObject;
22class raw_ostream;
23
24class AArch64Disassembler : public MCDisassembler {
25public:
26  AArch64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx)
27    : MCDisassembler(STI, Ctx) {}
28
29  ~AArch64Disassembler() {}
30
31  /// getInstruction - See MCDisassembler.
32  MCDisassembler::DecodeStatus
33  getInstruction(MCInst &instr, uint64_t &size, const MemoryObject &region,
34                 uint64_t address, raw_ostream &vStream,
35                 raw_ostream &cStream) const override;
36};
37
38} // namespace llvm
39
40#endif
41