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, setLastUpdateTimestampgetBlockOrder, getDepthFirstSearch, isForwardsgetFactAfterLocation, getFactAtLocation, transferedgeTransfer, factToString, finishIteration, getFactOnEdge, getResultFact, getStartFact, resultFactIterator, startIterationpublic ConstantAnalysis(org.apache.bcel.generic.MethodGen methodGen,
DepthFirstSearch dfs)
public ConstantFrame createFact()
DataflowAnalysispublic void initEntryFact(ConstantFrame frame)
DataflowAnalysispublic void transferInstruction(org.apache.bcel.generic.InstructionHandle handle,
BasicBlock basicBlock,
ConstantFrame frame)
throws DataflowAnalysisException
AbstractDataflowAnalysistransferInstruction 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 instructionDataflowAnalysisExceptionpublic void meetInto(ConstantFrame fact, Edge edge, ConstantFrame result) throws DataflowAnalysisException
DataflowAnalysisfact - the predecessor fact (incoming edge)edge - the edge from the predecessorresult - the result factDataflowAnalysisExceptionprotected void mergeValues(ConstantFrame otherFrame, ConstantFrame resultFrame, int slot) throws DataflowAnalysisException
FrameDataflowAnalysismergeValues in class FrameDataflowAnalysis<Constant,ConstantFrame>otherFrame - a FrameresultFrame - a Frame which will contain the resulting merged valueslot - a slot in both framesDataflowAnalysisExceptionFindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.