org.quilt.cover.stmt
Class GraphAction

java.lang.Object
  |
  +--org.quilt.cover.stmt.GraphAction
All Implemented Interfaces:
GraphXformer

public class GraphAction
extends java.lang.Object
implements GraphXformer

Walk the control flow graph, adding counter vertices on all edges inbound to code vertices. XXX Except those likely to cause problems; need to review this code later to make sure that all possibilities are covered.

Author:
Jim Dixon

Constructor Summary
GraphAction()
          constructor.
GraphAction(StmtRegistry reg)
           
GraphAction(StmtRegistry reg, ClassAction classAct)
          Constructor used by StmtRegistry.
 
Method Summary
static java.lang.String getName()
          Get the name for the transformation.
static void setName(java.lang.String name)
          Set a name for the transformation, to allow reports to refer to it.
 void xform(org.apache.bcel.generic.ClassGen cg, org.apache.bcel.generic.MethodGen method, ControlFlowGraph cfg)
          Apply the transformation to the graph.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GraphAction

public GraphAction()
constructor.


GraphAction

public GraphAction(StmtRegistry reg)

GraphAction

public GraphAction(StmtRegistry reg,
                   ClassAction classAct)
Constructor used by StmtRegistry. XXX Deprecate, dropping classAct argument. (Pass via registry if it's really necessary.)

Parameters:
classAct - The Xformer at the class level; the method needs to report back to it.
Method Detail

xform

public void xform(org.apache.bcel.generic.ClassGen cg,
                  org.apache.bcel.generic.MethodGen method,
                  ControlFlowGraph cfg)
Description copied from interface: GraphXformer
Apply the transformation to the graph.

Specified by:
xform in interface GraphXformer
Parameters:
cg - The class being transformed.
method - MethodGen for the method being transformed.
cfg - The method's control flow graph.

getName

public static java.lang.String getName()
Get the name for the transformation.


setName

public static void setName(java.lang.String name)
Set a name for the transformation, to allow reports to refer to it.



Copyright © 2001-2003 Apache Software Foundation. All Rights Reserved.