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

Description

Describes a local or global variable.

Definition at line 73 of file Variables.h.

#include <Rose/BinaryAnalysis/Variables.h>

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

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

Constructor & Destructor Documentation

◆ BaseVariable()

Rose::BinaryAnalysis::Variables::BaseVariable::BaseVariable ( )
protected

Default constructor.

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

Member Function Documentation

◆ maxSizeBytes() [1/2]

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.

◆ maxSizeBytes() [2/2]

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.

◆ definingInstructionVas() [1/3]

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.

◆ definingInstructionVas() [2/3]

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.

◆ definingInstructionVas() [3/3]

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.

◆ ioProperties() [1/3]

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.

◆ ioProperties() [2/3]

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.

◆ ioProperties() [3/3]

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.

◆ name() [1/2]

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.

◆ name() [2/2]

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.


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