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/BasicTypes.h>
7 #include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h>
10 namespace BinaryAnalysis {
18 virtual const uint8_t* bytes()
const = 0;
19 virtual const size_t size()
const = 0;
20 virtual const rose_addr_t offset()
const = 0;
28 virtual const std::string name()
const = 0;
35 virtual const std::string name()
const = 0;
36 virtual const Code & code()
const = 0;
41 virtual void annotate() = 0;
44 std::set<rose_addr_t> targets()
const;
48 const std::vector<BasicBlockPtr>& blocks()
const;
55 std::vector<BasicBlockPtr> blocks_;
60 virtual const std::string name()
const = 0;
67 virtual const std::string name()
const = 0;
74 virtual const std::string name()
const = 0;
75 virtual const std::string super_name()
const = 0;
76 virtual const std::vector<const Field*> &fields()
const = 0;
77 virtual const std::vector<const Method*> &methods()
const = 0;
78 virtual const std::vector<const Attribute*> &attributes()
const = 0;
79 virtual const std::vector<const Interface*> &interfaces()
const = 0;
80 virtual const std::vector<std::string> &strings() = 0;
82 virtual void digraph();
89 virtual const std::string name()
const = 0;
90 virtual const std::vector<const Class*> &classes()
const = 0;
99 virtual const std::string name()
const = 0;
100 virtual const std::vector<const Namespace*> &namespaces()
const = 0;
Main namespace for the ROSE library.
Sawyer::SharedPointer< BasicBlock > BasicBlockPtr
Shared-ownersip pointer for BasicBlock.
Sawyer::SharedPointer< Partitioner > PartitionerPtr
Shared-ownership pointer for Partitioner.
List of SgAsmInstruction nodes.