1 #ifndef ROSE_BinaryAnalysis_ByteCode_Analysis_H
2 #define ROSE_BinaryAnalysis_ByteCode_Analysis_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/BinaryAnalysis/Disassembler/Jvm.h>
7 #include <Rose/BinaryAnalysis/Partitioner2/Partitioner.h>
10 namespace BinaryAnalysis {
17 virtual const uint8_t* bytes()
const = 0;
18 virtual const size_t size()
const = 0;
25 virtual const std::string name()
const = 0;
32 virtual const std::string name()
const = 0;
33 virtual const Code & code()
const = 0;
38 std::set<rose_addr_t> targets()
const;
42 const std::vector<BasicBlockPtr>& blocks()
const {
46 blocks_.push_back(bb);
52 std::vector<BasicBlockPtr> blocks_;
57 virtual const std::string name()
const = 0;
64 virtual const std::string name()
const = 0;
71 virtual const std::string name()
const = 0;
72 virtual const std::string super_name()
const = 0;
73 virtual const std::vector<const Field*> &fields()
const = 0;
74 virtual const std::vector<const Method*> &methods()
const = 0;
75 virtual const std::vector<const Attribute*> &attributes()
const = 0;
76 virtual const std::vector<const Interface*> &interfaces()
const = 0;
77 virtual const std::vector<std::string> &strings() = 0;
78 virtual void partition();
79 virtual void digraph();
Main namespace for the ROSE library.
Sawyer::SharedPointer< BasicBlock > Ptr
Shared pointer to a basic block.
List of SgAsmInstruction nodes.