ROSE 0.11.145.192
|
Description of a global variable.
Definition at line 17 of file GlobalVariable.h.
#include <Rose/BinaryAnalysis/Variables/GlobalVariable.h>
Public Member Functions | |
GlobalVariable () | |
Default constructor. | |
GlobalVariable (Address startingAddress, rose_addr_t maxSizeBytes, const std::vector< InstructionAccess > &definingInstructions=std::vector< InstructionAccess >(), const std::string &name="") | |
Constructor. | |
const std::string & | setDefaultName () |
Give variable a defult name. | |
AddressInterval | interval () const |
Location of variable in memory. | |
operator bool () const | |
Predicate to test whether variable is valid. | |
bool | operator! () const |
Predicate to test whether variable is invalid. | |
Address | address () const |
Property: Starting address. | |
void | address (Address va) |
Property: Starting address. | |
bool | operator== (const GlobalVariable &other) const |
Compare two global variable descriptors. | |
bool | operator!= (const GlobalVariable &other) const |
Compare two global variable descriptors. | |
void | print (std::ostream &) const |
Printing global variable. | |
std::string | toString () const |
Printing global variable. | |
Public Member Functions inherited from Rose::BinaryAnalysis::Variables::BaseVariable | |
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. | |
Additional Inherited Members | |
Protected Member Functions inherited from Rose::BinaryAnalysis::Variables::BaseVariable | |
BaseVariable () | |
Default constructor. | |
BaseVariable (size_t maxSizeBytes, const std::vector< InstructionAccess > &definingInstructions, const std::string &name) | |
Construct a variable with a given maximum size. | |
Rose::BinaryAnalysis::Variables::GlobalVariable::GlobalVariable | ( | ) |
Default constructor.
Constructs a descriptor for an invalid global variable whose maximum size is zero.
Rose::BinaryAnalysis::Variables::GlobalVariable::GlobalVariable | ( | Address | startingAddress, |
rose_addr_t | maxSizeBytes, | ||
const std::vector< InstructionAccess > & | definingInstructions = std::vector< InstructionAccess >() , |
||
const std::string & | name = "" |
||
) |
Constructor.
Creates a global variable descriptor for a variable whose lowest address is startingAddress
and whose maximum size is maxSizeBytes
bytes. The optional definingInstruction
are the addresses of the instructions from which this variable was discerned and are usually memory dereferencing instructions.
Address Rose::BinaryAnalysis::Variables::GlobalVariable::address | ( | ) | const |
Property: Starting address.
This property is the lowest address for the variable.
void Rose::BinaryAnalysis::Variables::GlobalVariable::address | ( | Address | va | ) |
Property: Starting address.
This property is the lowest address for the variable.
const std::string & Rose::BinaryAnalysis::Variables::GlobalVariable::setDefaultName | ( | ) |
Give variable a defult name.
This variable's name is replaced by a generated name and the name is returned.
bool Rose::BinaryAnalysis::Variables::GlobalVariable::operator== | ( | const GlobalVariable & | other | ) | const |
Compare two global variable descriptors.
Two global variable descriptors are equal if and only if they have the same starting address and maximum size.
bool Rose::BinaryAnalysis::Variables::GlobalVariable::operator!= | ( | const GlobalVariable & | other | ) | const |
Compare two global variable descriptors.
Two global variable descriptors are equal if and only if they have the same starting address and maximum size.
|
inlineexplicit |
Predicate to test whether variable is valid.
Returns true if the variable is valid, i.e., if it has a non-zero size. Default constructed variables have a zero size.
Definition at line 85 of file GlobalVariable.h.
References interval(), and Sawyer::Container::Interval< T >::isEmpty().
|
inline |
Predicate to test whether variable is invalid.
Returns true if the variable is invalid, i.e., if it has a zero size.
Definition at line 92 of file GlobalVariable.h.
References interval(), and Sawyer::Container::Interval< T >::isEmpty().