ROSE  0.9.9.109
Public Member Functions | List of all members
Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig Class Reference

Description

Configuration information for a basic block.

Definition at line 16 of file Config.h.

#include <Config.h>

Public Member Functions

 BasicBlockConfig (rose_addr_t va)
 Configuration information for a basic block. More...
 
rose_addr_t address () const
 Property: starting address. More...
 
const std::string & comment () const
 Property: comment. More...
 
BasicBlockConfigcomment (const std::string &s)
 Property: comment. More...
 
Sawyer::Optional< rose_addr_t > finalInstructionVa () const
 Property: last instruction. More...
 
BasicBlockConfigfinalInstructionVa (const Sawyer::Optional< rose_addr_t > &va)
 Property: last instruction. More...
 
const std::set< rose_addr_t > & successorVas () const
 Property: control flow successors. More...
 
std::set< rose_addr_t > & successorVas ()
 Property: control flow successors. More...
 
BasicBlockConfigsuccessorVas (const std::set< rose_addr_t > &vas)
 Property: control flow successors. More...
 
BasicBlockConfiginsertSuccessorVa (rose_addr_t va)
 Property: control flow successors. More...
 
BasicBlockConfigclearSuccessorVas ()
 Property: control flow successors. More...
 

Constructor & Destructor Documentation

Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::BasicBlockConfig ( rose_addr_t  va)
inlineexplicit

Configuration information for a basic block.

Definition at line 27 of file Config.h.

Member Function Documentation

rose_addr_t Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::address ( ) const
inline

Property: starting address.

Addresses are read-only and specified in the constructor.

Definition at line 32 of file Config.h.

const std::string& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::comment ( ) const
inline

Property: comment.

A basic block may have a multi-line, plain-text, ASCII comment.

Definition at line 39 of file Config.h.

BasicBlockConfig& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::comment ( const std::string &  s)
inline

Property: comment.

A basic block may have a multi-line, plain-text, ASCII comment.

Definition at line 40 of file Config.h.

Sawyer::Optional<rose_addr_t> Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::finalInstructionVa ( ) const
inline

Property: last instruction.

Virtual address of basic block's final instruction. Basic blocks are usually constructed one instruction at a time, so specifying a final instruction is one way to force the end of a basic block. A final instruction is required for some of the other properties to be well defined.

Definition at line 50 of file Config.h.

BasicBlockConfig& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::finalInstructionVa ( const Sawyer::Optional< rose_addr_t > &  va)
inline

Property: last instruction.

Virtual address of basic block's final instruction. Basic blocks are usually constructed one instruction at a time, so specifying a final instruction is one way to force the end of a basic block. A final instruction is required for some of the other properties to be well defined.

Definition at line 51 of file Config.h.

const std::set<rose_addr_t>& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::successorVas ( ) const
inline

Property: control flow successors.

A basic block's control flow successors are normally calculated automatically. However, it is sometimes useful to be able to override them manually, such as when the calculation fails to do anything meaningful. Successors in this list only apply when the basic block reaches its final instruction (see

See also
finalInstructionVa).

Definition at line 61 of file Config.h.

std::set<rose_addr_t>& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::successorVas ( )
inline

Property: control flow successors.

A basic block's control flow successors are normally calculated automatically. However, it is sometimes useful to be able to override them manually, such as when the calculation fails to do anything meaningful. Successors in this list only apply when the basic block reaches its final instruction (see

See also
finalInstructionVa).

Definition at line 62 of file Config.h.

BasicBlockConfig& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::successorVas ( const std::set< rose_addr_t > &  vas)
inline

Property: control flow successors.

A basic block's control flow successors are normally calculated automatically. However, it is sometimes useful to be able to override them manually, such as when the calculation fails to do anything meaningful. Successors in this list only apply when the basic block reaches its final instruction (see

See also
finalInstructionVa).

Definition at line 63 of file Config.h.

BasicBlockConfig& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::insertSuccessorVa ( rose_addr_t  va)
inline

Property: control flow successors.

A basic block's control flow successors are normally calculated automatically. However, it is sometimes useful to be able to override them manually, such as when the calculation fails to do anything meaningful. Successors in this list only apply when the basic block reaches its final instruction (see

See also
finalInstructionVa).

Definition at line 64 of file Config.h.

BasicBlockConfig& Rose::BinaryAnalysis::Partitioner2::BasicBlockConfig::clearSuccessorVas ( )
inline

Property: control flow successors.

A basic block's control flow successors are normally calculated automatically. However, it is sometimes useful to be able to override them manually, such as when the calculation fails to do anything meaningful. Successors in this list only apply when the basic block reaches its final instruction (see

See also
finalInstructionVa).

Definition at line 65 of file Config.h.


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