ROSE  0.11.22.0
DisassemblerNull.h
1 #ifndef ROSE_BinaryAnalysis_Disassembler_Null_H
2 #define ROSE_BinaryAnalysis_Disassembler_Null_H
3 
4 #include <featureTests.h>
5 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 
7 #include <Disassembler.h>
8 #include <boost/serialization/access.hpp>
9 #include <boost/serialization/base_object.hpp>
10 
11 namespace Rose {
12 namespace BinaryAnalysis {
13 
19 
20 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
21 private:
22  friend class boost::serialization::access;
23 
24  template<class S>
25  void serialize(S &s, const unsigned /*version*/) {
26  s & BOOST_SERIALIZATION_BASE_OBJECT_NVP(Disassembler);
27  }
28 #endif
29 
30 public:
32  virtual ~DisassemblerNull();
33  virtual Disassembler* clone() const ROSE_OVERRIDE;
34  virtual bool canDisassemble(SgAsmGenericHeader*) const ROSE_OVERRIDE;
35  virtual Unparser::BasePtr unparser() const ROSE_OVERRIDE;
36  virtual SgAsmInstruction* disassembleOne(const MemoryMap::Ptr&, rose_addr_t va, AddressSet *successors = NULL) ROSE_OVERRIDE;
37  virtual SgAsmInstruction* makeUnknownInstruction(const Exception&) ROSE_OVERRIDE;
38 };
39 
40 } // namespace
41 } // namespace
42 
43 #endif
44 #endif
Base class for machine instructions.
virtual Unparser::BasePtr unparser() const ROSE_OVERRIDE
Unparser.
virtual Disassembler * clone() const ROSE_OVERRIDE
Creates a new copy of a disassembler.
Main namespace for the ROSE library.
Base class for container file headers.
virtual bool canDisassemble(SgAsmGenericHeader *) const ROSE_OVERRIDE
Predicate determining the suitability of a disassembler for a specific file header.
virtual SgAsmInstruction * makeUnknownInstruction(const Exception &) ROSE_OVERRIDE
Makes an unknown instruction from an exception.
virtual SgAsmInstruction * disassembleOne(const MemoryMap::Ptr &, rose_addr_t va, AddressSet *successors=NULL) ROSE_OVERRIDE
This is the lowest level disassembly function and is implemented in the architecture-specific subclas...
Exception thrown by the disassemblers.
Definition: Disassembler.h:53
Virtual base class for instruction disassemblers.
Definition: Disassembler.h:50