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>
15namespace BinaryAnalysis {
24 const uint8_t* bytes()
const override;
25 size_t size()
const override;
26 Address offset()
const override;
31 const uint8_t* bytes_;
42 std::string name()
const override;
55 std::string name()
const override;
56 bool isSystemReserved(
const std::string &name)
const override;
58 const Code & code()
const override;
62 void annotate()
override;
76 std::string name()
const override;
82 std::string name()
const override;
97 std::string name()
const override;
98 std::string super_name()
const override;
99 std::string typeSeparator()
const override;
100 void dump()
override;
117 std::string name()
const override;
137 std::string name()
const override;
138 bool isSystemReserved(
const std::string &name)
const override;
139 static bool isCilSystemReserved(
const std::string &name);
141 void printAssemblies(std::ostream& os)
const;
142 void printMethods(std::ostream& os,
size_t beg,
size_t lim)
const;
143 void printModules(std::ostream& os)
const;
144 void printTypeDefs(std::ostream& os)
const;
Base class for ByteCode Attribute.
static Ptr instance(NamespacePtr &ns, SgAsmCilMetadataRoot *, const std::string &, size_t, size_t)
Allocating constructor.
static Ptr instance(SgAsmCilMetadataRoot *, SgAsmCilMethodDef *, Address)
Allocating constructor.
static Ptr instance(SgAsmCilMetadataRoot *, const std::string &)
Allocating constructor.
Base class for ByteCode Class.
Base class for ByteCode Code.
Base class for ByteCode Container.
Base class for ByteCode Fields.
Base class for ByteCode Interface.
Base class for ByteCode Methods.
Base class for ByteCode Namespace.
Reference-counting intrusive smart pointer.
CIL MethodDef node (II.22.26).
List of SgAsmInstruction nodes.
Base class for integer values.
std::uint64_t Address
Address.