1 #ifndef ROSE_BinaryAnalysis_ByteCode_Cil_H
2 #define ROSE_BinaryAnalysis_ByteCode_Cil_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/BinaryAnalysis/ByteCode/Analysis.h>
9 namespace BinaryAnalysis {
14 virtual const uint8_t* bytes()
const {
17 virtual const size_t size()
const {
21 explicit CilCode(uint8_t* bytes,
size_t size, rose_addr_t offset)
22 : bytes_{bytes}, size_{size}, offset_{offset} {
26 const uint8_t* bytes_;
33 virtual const std::string name()
const {
34 return "CilField::name():UNIMPLEMENTED";
44 virtual const std::string name()
const {
45 return "CilMethod::name():UNIMPLEMENTED";
47 virtual const Code & code()
const {
50 virtual const void decode(Disassembler* disassembler)
const {
67 virtual const std::string name()
const {
68 return "CilInterface::name():UNIMPLEMENTED";
78 virtual const std::string name()
const {
79 return "CilAttribute::name():UNIMPLEMENTED";
89 virtual const std::string name()
const {
90 return "CilClass::super_name():UNIMPLEMENTED";
92 virtual const std::string super_name()
const {
93 return "CilClass::super_name():UNIMPLEMENTED";
95 virtual const std::vector<std::string> &strings()
const {
98 virtual const std::vector<const Interface*> &interfaces()
const {
101 virtual const std::vector<const Field*> &fields()
const {
104 virtual const std::vector<const Method*> &methods()
const {
107 virtual const std::vector<const Attribute*> &attributes()
const {
115 std::vector<const Field*> fields_;
116 std::vector<const Method*> methods_;
117 std::vector<const Attribute*> attributes_;
118 std::vector<const Interface*> interfaces_;
119 std::vector<std::string> strings_;
Main namespace for the ROSE library.
List of SgAsmInstruction nodes.