sail::Block Class Reference

An abstract class that BasicBlock and SuperBlock inherit from. More...

#include <Block.h>

Inheritance diagram for sail::Block:
sail::BasicBlock sail::SuperBlock

List of all members.

Public Member Functions

virtual bool is_basicblock ()
virtual bool is_superblock ()
virtual string to_string () const =0
virtual string to_dotty (string prelude, bool pretty_print=true)=0
void add_successor_edge (CfgEdge *edge)
void add_predecessor_edge (CfgEdge *edge)
void set_block_id (int id)
int get_block_id () const
set< CfgEdge * > & get_successors ()
set< CfgEdge * > & get_predecessors ()

Protected Attributes

int block_id
set< CfgEdge * > successors
set< CfgEdge * > predecessors

Friends

class boost::serialization::access

Detailed Description

An abstract class that BasicBlock and SuperBlock inherit from.


Member Function Documentation

set< CfgEdge * > & sail::Block::get_predecessors (  ) 
Returns:
the set of predecessors of this block.
set< CfgEdge * > & sail::Block::get_successors (  ) 
Returns:
set of successors of this block. A block may have more than two successors, e.g., for switch statements
bool sail::Block::is_basicblock (  )  [virtual]
Returns:
Is this block a basic block?

Reimplemented in sail::BasicBlock.

bool sail::Block::is_superblock (  )  [virtual]
Returns:
Is this block a super block? (i.e. does it represent a loop)

Reimplemented in sail::SuperBlock.


The documentation for this class was generated from the following files:
Generated on Sun Oct 17 14:01:31 2010 by  doxygen 1.6.3