1 #ifndef ROSE_BinaryAnalysis_Disassembler_Jvm_H
2 #define ROSE_BinaryAnalysis_Disassembler_Jvm_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/BinaryAnalysis/Disassembler/Base.h>
7 #include <boost/serialization/access.hpp>
8 #include <boost/serialization/base_object.hpp>
11 namespace BinaryAnalysis {
12 namespace Disassembler {
52 size_t appendTableswitch(
const MemoryMap::Ptr &map, rose_addr_t start,
59 rose_addr_t codeOffset_;
62 rose_addr_t codeOffset();
63 void codeOffset(rose_addr_t offset);
68 #ifdef ROSE_HAVE_BOOST_SERIALIZATION_LIB
70 friend class boost::serialization::access;
73 void serialize(S &s,
const unsigned ) {
static Ptr instance()
Allocating constructor.
Base class for machine instructions.
virtual Base::Ptr clone() const override
Creates a new copy of a disassembler.
Main namespace for the ROSE library.
List of operands for an instruction.
virtual SgAsmInstruction * disassembleOne(const MemoryMap::Ptr &, rose_addr_t va, AddressSet *successors=nullptr) override
This is the lowest level disassembly function and is implemented in the architecture-specific subclas...
virtual Unparser::BasePtr unparser() const override
Unparser.
virtual bool canDisassemble(SgAsmGenericHeader *) const override
Predicate determining the suitability of a disassembler for a specific file header.
Exception thrown by the disassemblers.
Virtual base class for instruction disassemblers.
virtual SgAsmInstruction * makeUnknownInstruction(const Disassembler::Exception &) override
Makes an unknown instruction from an exception.