ROSE 0.11.145.192
|
Base class describing a source-level variable.
Definition at line 18 of file BaseVariable.h.
#include <Rose/BinaryAnalysis/Variables/BaseVariable.h>
Public Member Functions | |
BaseVariable (const BaseVariable &) | |
AccessFlags | accessFlags () const |
Read/write status. | |
InstructionSemantics::BaseSemantics::InputOutputPropertySet | ioProperties () const |
Property: I/O properties. | |
void | insertAccess (Address insnAddr, AccessFlags) |
Insert information about how an instruction accesses this variable. | |
rose_addr_t | maxSizeBytes () const |
Property: Maximum variable size in bytes. | |
void | maxSizeBytes (rose_addr_t size) |
Property: Maximum variable size in bytes. | |
const std::vector< InstructionAccess > & | instructionsAccessing () const |
Property: Defining instructions. | |
void | instructionsAccessing (const std::vector< InstructionAccess > &) |
Property: Defining instructions. | |
const std::string & | name () const |
Property: Optional variable name. | |
void | name (const std::string &s) |
Property: Optional variable name. | |
Protected Member Functions | |
BaseVariable () | |
Default constructor. | |
BaseVariable (size_t maxSizeBytes, const std::vector< InstructionAccess > &definingInstructions, const std::string &name) | |
Construct a variable with a given maximum size. | |
|
protected |
Default constructor.
Constructs a descriptor for a variable whose maximum size is zero.
rose_addr_t Rose::BinaryAnalysis::Variables::BaseVariable::maxSizeBytes | ( | ) | const |
Property: Maximum variable size in bytes.
This is the maximum size that the variable could be, measured in bytes. A default constructed object will have a size of zero.
void Rose::BinaryAnalysis::Variables::BaseVariable::maxSizeBytes | ( | rose_addr_t | size | ) |
Property: Maximum variable size in bytes.
This is the maximum size that the variable could be, measured in bytes. A default constructed object will have a size of zero.
const std::vector< InstructionAccess > & Rose::BinaryAnalysis::Variables::BaseVariable::instructionsAccessing | ( | ) | const |
Property: Defining instructions.
This is information about each instruction that accesses a variable, such as whether the instruction reads or writes to that variable.
void Rose::BinaryAnalysis::Variables::BaseVariable::instructionsAccessing | ( | const std::vector< InstructionAccess > & | ) |
Property: Defining instructions.
This is information about each instruction that accesses a variable, such as whether the instruction reads or writes to that variable.
AccessFlags Rose::BinaryAnalysis::Variables::BaseVariable::accessFlags | ( | ) | const |
Read/write status.
Returns bit flags describing whether the variable was read and/or written.
InstructionSemantics::BaseSemantics::InputOutputPropertySet Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties | ( | ) | const |
Property: I/O properties.
This property is a set of flags that describe how the variable is accessed.
const std::string & Rose::BinaryAnalysis::Variables::BaseVariable::name | ( | ) | const |
Property: Optional variable name.
There is no constraint on what the variable name may be. At this time it's used mainly for debugging. Therefore it should always be printed assuming it contains special characters.
void Rose::BinaryAnalysis::Variables::BaseVariable::name | ( | const std::string & | s | ) |
Property: Optional variable name.
There is no constraint on what the variable name may be. At this time it's used mainly for debugging. Therefore it should always be printed assuming it contains special characters.