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

Description

Base class describing a source-level variable.

Definition at line 18 of file BaseVariable.h.

#include <Rose/BinaryAnalysis/Variables/BaseVariable.h>

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

Public Member Functions

 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.
 

Protected Member Functions

 BaseVariable ()
 Default constructor.
 
 BaseVariable (size_t maxSizeBytes, const std::vector< InstructionAccess > &definingInstructions, 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.

◆ instructionsAccessing() [1/2]

const std::vector< InstructionAccess > & Rose::BinaryAnalysis::Variables::BaseVariable::instructionsAccessing ( ) const

Property: Defining instructions.

This is information about each instruction that accesses a variable, such as whether the instruction reads or writes to that variable.

◆ instructionsAccessing() [2/2]

void Rose::BinaryAnalysis::Variables::BaseVariable::instructionsAccessing ( const std::vector< InstructionAccess > &  )

Property: Defining instructions.

This is information about each instruction that accesses a variable, such as whether the instruction reads or writes to that variable.

◆ accessFlags()

AccessFlags Rose::BinaryAnalysis::Variables::BaseVariable::accessFlags ( ) const

Read/write status.

Returns bit flags describing whether the variable was read and/or written.

◆ ioProperties()

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.

◆ 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: