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 typeSeparator()
const override;
96 std::string name()
const override;
116 std::string name()
const override;
117 bool isSystemReserved(
const std::string &name)
const override;
118 static bool isCilSystemReserved(
const std::string &name);
120 void printAssemblies(std::ostream& os)
const;
121 void printMethods(std::ostream& os,
size_t beg,
size_t lim)
const;
122 void printModules(std::ostream& os)
const;
123 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, Address, SgAsmCilMetadataRoot *, SgAsmCilMethodDef *)
Allocating constructor.
static Ptr instance(SgAsmCilMetadataRoot *, const std::string &)
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.