|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--junit.quilt.cover.generic.EdgeFactoryImpl
Constructor Summary | |
EdgeFactoryImpl()
|
Method Summary | |
BlockVertex |
makeBlockVertex(org.apache.bcel.classfile.LineNumberTable lineNumberTable)
makeBlockVertex() Override this method if you want to provide a special implementation of a block vertex. |
FlowControlEdge |
makeBranchEdge(BlockVertex source,
BlockVertex target,
java.lang.String branch,
boolean value)
makeBranchEdge() Override this if you want to have a specific Branch FlowControlEdge in your graph. |
FlowControlEdge |
makeDummyEdge(BlockVertex source,
BlockVertex target)
makeDummyEdge This is used to add a dummy edge into the graph. |
FinallyVertex |
makeEndVertex()
makeEndVertex This will create a single exit point from the graph. |
FlowControlEdge |
makeExceptionEdge(BlockVertex source,
BlockVertex handler,
java.lang.Class exception)
makeExceptionEdge() Override this method if you want to make a special exception edge. |
FlowControlEdge |
makeExceptionEdge(BlockVertex source,
BlockVertex handler,
org.apache.bcel.generic.ObjectType exception)
|
FlowControlEdge |
makeExceptionEdge(BlockVertex source,
java.lang.Class exception)
|
FlowControlEdge |
makeExceptionEdge(BlockVertex source,
org.apache.bcel.generic.ObjectType exception)
|
FlowControlEdge |
makeJSREdge(BlockVertex source,
BlockVertex target)
Create an edge for JSR to a subroutine. |
FlowControlEdge |
makeNormalEdge(BlockVertex source,
BlockVertex target)
makeNormalEdge() Override this method if you want to make a special normal edge. |
FlowControlEdge |
makeReturnEdge(BlockVertex ret)
makeReturnEdge This is called when a Return statement happens. |
FlowControlEdge |
makeSelectEdge(BlockVertex source,
BlockVertex target,
java.lang.String expr)
|
FlowControlEdge |
makeSelectEdge(BlockVertex source,
BlockVertex target,
java.lang.String expr,
int value)
makeSelectEdge Override this method if you want to make a custom SelectEdge. |
InitVertex |
makeStartVertex()
makeStartVertex This will create a new vertex which acts as the entry point into the method. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public EdgeFactoryImpl()
Method Detail |
public FlowControlEdge makeBranchEdge(BlockVertex source, BlockVertex target, java.lang.String branch, boolean value)
makeBranchEdge
in interface EdgeFactory
source
- is the BlockVertex which contains the
branch statement.target
- is the target BlockVertex of the branch.branch
- will contain as much of a description of the
branch we can get. (i.e. "a < 0")value
- is the required value the condition needs to
evaluate to to execute this branch edge.public FlowControlEdge makeSelectEdge(BlockVertex source, BlockVertex target, java.lang.String expr, int value)
makeSelectEdge
in interface EdgeFactory
source
- is the BlockVertex which contains
the Select statement.target
- is the BlockVertex which is targeted
by the Select statement.expr
- is the expression which is evaluated
for the switch statement. (i.e. "a + b")value
- is the integer value which is required
in order to execute this branch.
(The second version, without the "value" param is
called for the default value.public FlowControlEdge makeSelectEdge(BlockVertex source, BlockVertex target, java.lang.String expr)
makeSelectEdge
in interface EdgeFactory
public FlowControlEdge makeExceptionEdge(BlockVertex source, BlockVertex handler, java.lang.Class exception)
makeExceptionEdge
in interface EdgeFactory
source
- is the BlockVertex which contains the
exception thrower.handler
- is the BlockVertex which acts as this
exception handler.exceptions
- is the set of exceptions which are
caught by the exception handler.
In the second variation, without the handler, it
represents an unhandled exception.public FlowControlEdge makeExceptionEdge(BlockVertex source, BlockVertex handler, org.apache.bcel.generic.ObjectType exception)
makeExceptionEdge
in interface EdgeFactory
public FlowControlEdge makeExceptionEdge(BlockVertex source, java.lang.Class exception)
makeExceptionEdge
in interface EdgeFactory
public FlowControlEdge makeExceptionEdge(BlockVertex source, org.apache.bcel.generic.ObjectType exception)
makeExceptionEdge
in interface EdgeFactory
public FlowControlEdge makeNormalEdge(BlockVertex source, BlockVertex target)
makeNormalEdge
in interface EdgeFactory
source
- is the first BlockVertex in sequence.target
- is the second BlockVertex in sequence.public FlowControlEdge makeDummyEdge(BlockVertex source, BlockVertex target)
EdgeFactory
makeDummyEdge
in interface EdgeFactory
public FlowControlEdge makeJSREdge(BlockVertex source, BlockVertex target)
makeJSREdge
in interface EdgeFactory
public FlowControlEdge makeReturnEdge(BlockVertex ret)
makeReturnEdge
in interface EdgeFactory
source
- is the BlockVertex which contains
the return.public BlockVertex makeBlockVertex(org.apache.bcel.classfile.LineNumberTable lineNumberTable)
makeBlockVertex
in interface EdgeFactory
lineNumberTable
- is the line number table for
the method. It can use this to determine which
lines the block includes. It may be NULL.
A BlockVertex is responsible for holding all of the
instruction handles in the graph.public InitVertex makeStartVertex()
makeStartVertex
in interface EdgeFactory
public FinallyVertex makeEndVertex()
makeEndVertex
in interface EdgeFactory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |