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 std::string name()
const override;
37 bool isStatic()
const override;
38 bool isSystemReserved(
const std::string &name)
const override;
43 std::string descriptor()
const override;
45 void annotate()
override;
58 std::string name()
const override;
64 std::string name()
const override;
79 std::string qualifiedName()
const override;
80 std::string typeSeparator()
const override;
121 std::string name()
const override;
122 bool isSystemReserved(
const std::string &name)
const override;
123 static bool isCilSystemReserved(
const std::string &name);
125 void printAssemblies(std::ostream& os)
const;
126 void printMethods(std::ostream& os,
size_t beg,
size_t lim)
const;
127 void printModules(std::ostream& os)
const;
128 void printTypeDefs(std::ostream& os)
const;
Base class for ByteCode Attribute.
static Ptr instance(std::string name, NamespacePtr ns, SgAsmCilMetadataRoot *, size_t, size_t)
Allocating constructor.
static Ptr instance(std::string name, SgAsmCilMetadataRoot *mdr)
Allocating constructor.
static Ptr instance(std::string name, Address, SgAsmCilMetadataRoot *, SgAsmCilMethodDef *)
Allocating constructor.
static Ptr instance(const std::string, ContainerPtr, SgAsmCilMetadataRoot *)
Allocating constructor.
Base class for ByteCode Class.
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.