ROSE 0.11.145.147
|
Describes a local or global variable.
Definition at line 73 of file Variables.h.
#include <Rose/BinaryAnalysis/Variables.h>
Public Member Functions | |
BaseVariable (const BaseVariable &) | |
rose_addr_t | maxSizeBytes () const |
Property: Maximum variable size in bytes. | |
void | maxSizeBytes (rose_addr_t size) |
Property: Maximum variable size in bytes. | |
const AddressSet & | definingInstructionVas () const |
Property: Addresses of instructions related to this variable. | |
AddressSet & | definingInstructionVas () |
Property: Addresses of instructions related to this variable. | |
void | definingInstructionVas (const AddressSet &vas) |
Property: Addresses of instructions related to this variable. | |
const InstructionSemantics::BaseSemantics::InputOutputPropertySet & | ioProperties () const |
Property: I/O properties. | |
InstructionSemantics::BaseSemantics::InputOutputPropertySet & | ioProperties () |
Property: I/O properties. | |
void | ioProperties (const InstructionSemantics::BaseSemantics::InputOutputPropertySet &set) |
Property: I/O properties. | |
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 AddressSet &definingInstructionVas, 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 AddressSet & Rose::BinaryAnalysis::Variables::BaseVariable::definingInstructionVas | ( | ) | const |
Property: Addresses of instructions related to this variable.
This is the set of addresses for the instructions from which this variable was detected. This is typically instructions that read or write to memory using an offset from the function's frame.
AddressSet & Rose::BinaryAnalysis::Variables::BaseVariable::definingInstructionVas | ( | ) |
Property: Addresses of instructions related to this variable.
This is the set of addresses for the instructions from which this variable was detected. This is typically instructions that read or write to memory using an offset from the function's frame.
void Rose::BinaryAnalysis::Variables::BaseVariable::definingInstructionVas | ( | const AddressSet & | vas | ) |
Property: Addresses of instructions related to this variable.
This is the set of addresses for the instructions from which this variable was detected. This is typically instructions that read or write to memory using an offset from the function's frame.
const 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.
InstructionSemantics::BaseSemantics::InputOutputPropertySet & Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties | ( | ) |
Property: I/O properties.
This property is a set of flags that describe how the variable is accessed.
void Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties | ( | const InstructionSemantics::BaseSemantics::InputOutputPropertySet & | set | ) |
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.