public class ConstantAnalysis extends FrameDataflowAnalysis<Constant,ConstantFrame>
Constant
Constructor and Description |
---|
ConstantAnalysis(org.apache.bcel.generic.MethodGen methodGen,
DepthFirstSearch dfs) |
Modifier and Type | Method and Description |
---|---|
ConstantFrame |
createFact()
Create empty (uninitialized) dataflow facts for one program point.
|
void |
initEntryFact(ConstantFrame frame)
Initialize the "entry" fact for the graph.
|
void |
meetInto(ConstantFrame fact,
Edge edge,
ConstantFrame result)
Meet a dataflow fact associated with an incoming edge into another fact.
|
protected void |
mergeValues(ConstantFrame otherFrame,
ConstantFrame resultFrame,
int slot)
Merge the values contained in a given slot of two Frames.
|
void |
transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ConstantFrame frame)
Transfer function for a single instruction.
|
copy, getFactAtPC, getFactBeforeExceptionCheck, getLastUpdateTimestamp, isFactValid, isTop, makeFactTop, mergeInto, modifyFrame, same, setLastUpdateTimestamp
getBlockOrder, getDepthFirstSearch, isForwards
getFactAfterLocation, getFactAtLocation, transfer
edgeTransfer, factToString, finishIteration, getFactOnEdge, getResultFact, getStartFact, resultFactIterator, startIteration
public ConstantAnalysis(org.apache.bcel.generic.MethodGen methodGen, DepthFirstSearch dfs)
public ConstantFrame createFact()
DataflowAnalysis
public void initEntryFact(ConstantFrame frame)
DataflowAnalysis
public void transferInstruction(org.apache.bcel.generic.InstructionHandle handle, BasicBlock basicBlock, ConstantFrame frame) throws DataflowAnalysisException
AbstractDataflowAnalysis
transferInstruction
in class AbstractDataflowAnalysis<ConstantFrame>
handle
- the instructionbasicBlock
- the BasicBlock containing the instruction; needed to
disambiguate instructions in inlined JSR subroutinesframe
- which should be modified based on the instructionDataflowAnalysisException
public void meetInto(ConstantFrame fact, Edge edge, ConstantFrame result) throws DataflowAnalysisException
DataflowAnalysis
fact
- the predecessor fact (incoming edge)edge
- the edge from the predecessorresult
- the result factDataflowAnalysisException
protected void mergeValues(ConstantFrame otherFrame, ConstantFrame resultFrame, int slot) throws DataflowAnalysisException
FrameDataflowAnalysis
mergeValues
in class FrameDataflowAnalysis<Constant,ConstantFrame>
otherFrame
- a FrameresultFrame
- a Frame which will contain the resulting merged valueslot
- a slot in both framesDataflowAnalysisException
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.