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

Description

CFG vertex for data-flow analysis.

See also
DfCfg

Definition at line 25 of file DataFlow.h.

#include <DataFlow.h>

Public Types

enum  Type {
  BBLOCK,
  FAKED_CALL,
  FUNCRET,
  INDET
}
 Vertex type. More...
 

Public Member Functions

 DfCfgVertex (const BasicBlock::Ptr &bblock)
 Construct a basic block vertex. More...
 
 DfCfgVertex (const Function::Ptr &function)
 Construct a faked call vertex. More...
 
 DfCfgVertex (Type type)
 Construct a vertex of specified type that takes no auxiliary data. More...
 
Type type () const
 Type of the vertex. More...
 
const BasicBlock::Ptrbblock () const
 Basic block. More...
 
const Function::Ptrcallee () const
 Function represented by faked call. More...
 

Member Enumeration Documentation

Vertex type.

Enumerator
BBLOCK 

Vertex represents a basic block.

FAKED_CALL 

Represents a whole called function.

FUNCRET 

Vertex represents returning to the caller.

INDET 

Indeterminate basic block where no information is available.

Definition at line 28 of file DataFlow.h.

Constructor & Destructor Documentation

Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::DfCfgVertex ( const BasicBlock::Ptr bblock)
inlineexplicit

Construct a basic block vertex.

The basic block pointer should not be a null pointer.

Definition at line 42 of file DataFlow.h.

Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::DfCfgVertex ( const Function::Ptr function)
inlineexplicit

Construct a faked call vertex.

The function may be null if indeterminate.

Definition at line 47 of file DataFlow.h.

Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::DfCfgVertex ( Type  type)
inlineexplicit

Construct a vertex of specified type that takes no auxiliary data.

Definition at line 50 of file DataFlow.h.

References BBLOCK, and FAKED_CALL.

Member Function Documentation

Type Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::type ( ) const
inline

Type of the vertex.

Vertex types are immutable, defined when the vertex is created. Every vertex has a type.

Definition at line 57 of file DataFlow.h.

const BasicBlock::Ptr& Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::bblock ( ) const
inline

Basic block.

The basic block for a vertex is immutable, defined when the vertex is created. Only basic block vertices have a basic block; other vertex types will return a null pointer.

Definition at line 63 of file DataFlow.h.

const Function::Ptr& Rose::BinaryAnalysis::Partitioner2::DataFlow::DfCfgVertex::callee ( ) const
inline

Function represented by faked call.

Definition at line 66 of file DataFlow.h.


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