ROSE  0.10.0.0
Protected Member Functions | List of all members
Rose::BinaryAnalysis::Variables::BaseVariable Class Reference

Description

Describes a local or global variable.

Definition at line 63 of file BinaryVariables.h.

#include <BinaryVariables.h>

Inheritance diagram for Rose::BinaryAnalysis::Variables::BaseVariable:
Inheritance graph
[legend]

Public Member Functions

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 AddressSetdefiningInstructionVas () const
 Property: Addresses of instructions related to this variable. More...
 
AddressSetdefiningInstructionVas ()
 Property: Addresses of instructions related to this variable. More...
 
void definingInstructionVas (const AddressSet &vas)
 Property: Addresses of instructions related to this variable. More...
 
const InstructionSemantics2::BaseSemantics::InputOutputPropertySetioProperties () const
 Property: I/O properties. More...
 
InstructionSemantics2::BaseSemantics::InputOutputPropertySetioProperties ()
 Property: I/O properties. More...
 
void ioProperties (const InstructionSemantics2::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...
 

Protected Member Functions

 BaseVariable ()
 Default constructor. More...
 
 BaseVariable (size_t maxSizeBytes, const AddressSet &definingInstructionVas, const std::string &name)
 Construct a variable with a given maximum size. More...
 

Constructor & Destructor Documentation

Rose::BinaryAnalysis::Variables::BaseVariable::BaseVariable ( )
inlineprotected

Default constructor.

Constructs a descriptor for a variable whose maximum size is zero.

Definition at line 86 of file BinaryVariables.h.

Rose::BinaryAnalysis::Variables::BaseVariable::BaseVariable ( size_t  maxSizeBytes,
const AddressSet definingInstructionVas,
const std::string &  name 
)
inlineprotected

Construct a variable with a given maximum size.

Definition at line 90 of file BinaryVariables.h.

Member Function Documentation

rose_addr_t Rose::BinaryAnalysis::Variables::BaseVariable::maxSizeBytes ( ) const
inline

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.

Definition at line 103 of file BinaryVariables.h.

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
inline

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.

Definition at line 113 of file BinaryVariables.h.

AddressSet& Rose::BinaryAnalysis::Variables::BaseVariable::definingInstructionVas ( )
inline

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.

Definition at line 114 of file BinaryVariables.h.

void Rose::BinaryAnalysis::Variables::BaseVariable::definingInstructionVas ( const AddressSet vas)
inline

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.

Definition at line 115 of file BinaryVariables.h.

const InstructionSemantics2::BaseSemantics::InputOutputPropertySet& Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties ( ) const
inline

Property: I/O properties.

This property is a set of flags that describe how the variable is accessed.

Definition at line 123 of file BinaryVariables.h.

InstructionSemantics2::BaseSemantics::InputOutputPropertySet& Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties ( )
inline

Property: I/O properties.

This property is a set of flags that describe how the variable is accessed.

Definition at line 124 of file BinaryVariables.h.

void Rose::BinaryAnalysis::Variables::BaseVariable::ioProperties ( const InstructionSemantics2::BaseSemantics::InputOutputPropertySet set)
inline

Property: I/O properties.

This property is a set of flags that describe how the variable is accessed.

Definition at line 125 of file BinaryVariables.h.

const std::string& Rose::BinaryAnalysis::Variables::BaseVariable::name ( ) const
inline

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.

Definition at line 134 of file BinaryVariables.h.

void Rose::BinaryAnalysis::Variables::BaseVariable::name ( const std::string &  s)
inline

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.

Definition at line 135 of file BinaryVariables.h.


The documentation for this class was generated from the following file: