edu.uci.eecs.doc.cascade.graph
Class LoopBlock

java.lang.Object
  extended by edu.uci.eecs.doc.cascade.graph.Vertex
      extended by edu.uci.eecs.doc.cascade.graph.BasicBlock
          extended by edu.uci.eecs.doc.cascade.graph.LoopBlock

public class LoopBlock
extends BasicBlock

A base class that represents the start of a loop.

Author:
Trevor Harmon

Field Summary
 
Fields inherited from class edu.uci.eecs.doc.cascade.graph.BasicBlock
instructions, node
 
Fields inherited from class edu.uci.eecs.doc.cascade.graph.Vertex
graph
 
Constructor Summary
protected LoopBlock(Graph graph, Node node, List<InstructionHandle> instructions)
          Creates a new LoopBlock object.
 
Method Summary
 Set<Edge> getExternalIncomingEdges()
          Returns the set of outgoing edges that lead to this block but are not part of the body of the loop.
 Set<Edge> getInternalOutgoingEdges()
          Returns the set of outgoing edges that lead from this block into the body of the loop.
 
Methods inherited from class edu.uci.eecs.doc.cascade.graph.BasicBlock
getInstructions, getNode, isReturn, toString
 
Methods inherited from class edu.uci.eecs.doc.cascade.graph.Vertex
asList, getGraph
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoopBlock

protected LoopBlock(Graph graph,
                    Node node,
                    List<InstructionHandle> instructions)
Creates a new LoopBlock object.

Parameters:
graph - the control flow graph to which this basic block belongs
node - the control flow tree node that corresponds to the basic block
instructions - the list of bytecode instructions represented by this basic block
Method Detail

getInternalOutgoingEdges

public Set<Edge> getInternalOutgoingEdges()
Returns the set of outgoing edges that lead from this block into the body of the loop.

Returns:
a set of control flow edges

getExternalIncomingEdges

public Set<Edge> getExternalIncomingEdges()
Returns the set of outgoing edges that lead to this block but are not part of the body of the loop.

Returns:
a set of control flow edges