ROSE 0.11.145.147
Rose/BinaryAnalysis/Disassembler/BasicTypes.h
1#ifndef ROSE_BinaryAnalysis_Disassembler_BasicTypes_H
2#define ROSE_BinaryAnalysis_Disassembler_BasicTypes_H
3#include <featureTests.h>
4#ifdef ROSE_ENABLE_BINARY_ANALYSIS
5#include <RoseFirst.h>
6
7#include <Sawyer/Message.h>
8#include <Sawyer/SharedPointer.h>
9
10#include <string>
11#include <vector>
12
13// Basic types needed by almost all other disassemblers
14
15namespace Rose {
16namespace BinaryAnalysis {
17namespace Disassembler {
18
19class Exception;
20
22// Types for built-in disassemblers
24
25class Aarch32;
26using Aarch32Ptr = Sawyer::SharedPointer<Aarch32>;
28class Aarch64;
29using Aarch64Ptr = Sawyer::SharedPointer<Aarch64>;
31class Base;
34class M68k;
35using M68kPtr = Sawyer::SharedPointer<M68k>;
37class Mips;
38using MipsPtr = Sawyer::SharedPointer<Mips>;
40class Null;
41using NullPtr = Sawyer::SharedPointer<Null>;
43class Powerpc;
46class X86;
50// Diagnostics
52
55
58
60// Convenience functions
62
67const std::string& name(const BasePtr&);
68
69} // namespace
70} // namespace
71} // namespace
72#endif
73#endif
Collection of streams.
Definition Message.h:1606
Reference-counting intrusive smart pointer.
std::shared_ptr< Base > BasePtr
Reference counted pointer for Architecture::Base.
std::shared_ptr< X86 > X86Ptr
Reference counted pointer for X86.
std::shared_ptr< Powerpc > PowerpcPtr
Reference counted pointer for Powerpc.
void initDiagnostics()
Initializes and registers disassembler diagnostic streams.
Sawyer::Message::Facility mlog
Reference counted pointer for Intel X86 decoder.
The ROSE library.