ROSE
0.11.109.0
|
Description of a global variable.
Definition at line 280 of file Variables.h.
#include <Rose/BinaryAnalysis/Variables.h>
Public Member Functions | |
GlobalVariable () | |
Default constructor. More... | |
GlobalVariable (rose_addr_t startingAddress, rose_addr_t maxSizeBytes, const AddressSet &definingInstructionVas=AddressSet(), const std::string &name="") | |
Constructor. More... | |
const std::string & | setDefaultName () |
Give variable a defult name. More... | |
AddressInterval | interval () const |
Location of variable in memory. More... | |
rose_addr_t | address () const |
Property: Starting address. More... | |
void | address (rose_addr_t va) |
Property: Starting address. More... | |
bool | operator== (const GlobalVariable &other) const |
Compare two global variable descriptors. More... | |
bool | operator!= (const GlobalVariable &other) const |
Compare two global variable descriptors. More... | |
void | print (std::ostream &) const |
Printing global variable. | |
std::string | toString () const |
Printing global variable. | |
![]() | |
BaseVariable (const BaseVariable &) | |
rose_addr_t | maxSizeBytes () const |
Property: Maximum variable size in bytes. More... | |
void | maxSizeBytes (rose_addr_t size) |
Property: Maximum variable size in bytes. More... | |
const AddressSet & | definingInstructionVas () const |
Property: Addresses of instructions related to this variable. More... | |
AddressSet & | definingInstructionVas () |
Property: Addresses of instructions related to this variable. More... | |
void | definingInstructionVas (const AddressSet &vas) |
Property: Addresses of instructions related to this variable. More... | |
const InstructionSemantics::BaseSemantics::InputOutputPropertySet & | ioProperties () const |
Property: I/O properties. More... | |
InstructionSemantics::BaseSemantics::InputOutputPropertySet & | ioProperties () |
Property: I/O properties. More... | |
void | ioProperties (const InstructionSemantics::BaseSemantics::InputOutputPropertySet &set) |
Property: I/O properties. More... | |
const std::string & | name () const |
Property: Optional variable name. More... | |
void | name (const std::string &s) |
Property: Optional variable name. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &, const Rose::BinaryAnalysis::Variables::GlobalVariable &) |
Print global variable descriptor. More... | |
Additional Inherited Members | |
![]() | |
BaseVariable () | |
Default constructor. More... | |
BaseVariable (size_t maxSizeBytes, const AddressSet &definingInstructionVas, const std::string &name) | |
Construct a variable with a given maximum size. More... | |
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 | ( | rose_addr_t | startingAddress, |
rose_addr_t | maxSizeBytes, | ||
const AddressSet & | definingInstructionVas = AddressSet() , |
||
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 definingInstructionVas
are the addresses of the instructions from which this variable was discerned and are usually memory dereferencing instructions.
rose_addr_t Rose::BinaryAnalysis::Variables::GlobalVariable::address | ( | ) | const |
Property: Starting address.
This property is the lowest address for the variable.
void Rose::BinaryAnalysis::Variables::GlobalVariable::address | ( | rose_addr_t | 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.
AddressInterval Rose::BinaryAnalysis::Variables::GlobalVariable::interval | ( | ) | const |
Location of variable in memory.
|
friend |
Print global variable descriptor.