Package edu.umd.cs.findbugs.ba.bcp
Class IfNull
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.bcp.PatternElement
-
- edu.umd.cs.findbugs.ba.bcp.SingleInstruction
-
- edu.umd.cs.findbugs.ba.bcp.OneVariableInstruction
-
- edu.umd.cs.findbugs.ba.bcp.IfNull
-
- All Implemented Interfaces:
EdgeTypes
public class IfNull extends OneVariableInstruction implements EdgeTypes
-
-
Field Summary
-
Fields inherited from interface edu.umd.cs.findbugs.ba.EdgeTypes
BACKEDGE_SOURCE_EDGE, BACKEDGE_TARGET_EDGE, CHECKED_EXCEPTIONS_FLAG, EXIT_EDGE, EXPLICIT_EXCEPTIONS_FLAG, FALL_THROUGH_EDGE, GOTO_EDGE, HANDLED_EXCEPTION_EDGE, IFCMP_EDGE, JSR_EDGE, RET_EDGE, RETURN_EDGE, START_EDGE, SWITCH_DEFAULT_EDGE, SWITCH_EDGE, UNHANDLED_EXCEPTION_EDGE, UNKNOWN_EDGE
-
-
Constructor Summary
Constructors Constructor Description IfNull(java.lang.String varName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptBranch(Edge edge, org.apache.bcel.generic.InstructionHandle source)Return whether or not it is acceptable to take the given branch.MatchResultmatch(org.apache.bcel.generic.InstructionHandle handle, org.apache.bcel.generic.ConstantPoolGen cpg, ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet)Return whether or not this element matches the given instruction with the given Bindings in effect.-
Methods inherited from class edu.umd.cs.findbugs.ba.bcp.OneVariableInstruction
addOrCheckDefinition
-
Methods inherited from class edu.umd.cs.findbugs.ba.bcp.SingleInstruction
maxOccur, minOccur
-
Methods inherited from class edu.umd.cs.findbugs.ba.bcp.PatternElement
addOrCheckDefinition, allowTrailingEdges, dominatedBy, getDominatedBy, getLabel, getNext, label, lookup, setAllowTrailingEdges, setIndex, setNext, toString
-
-
-
-
Method Detail
-
match
public MatchResult match(org.apache.bcel.generic.InstructionHandle handle, org.apache.bcel.generic.ConstantPoolGen cpg, ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException
Description copied from class:PatternElementReturn whether or not this element matches the given instruction with the given Bindings in effect.- Specified by:
matchin classPatternElement- Parameters:
handle- the instructioncpg- the ConstantPoolGen from the methodbefore- the ValueNumberFrame representing values in the Java stack frame just before the execution of the instructionafter- the ValueNumberFrame representing values in the Java stack frame just after the execution of the instructionbindingSet- the set of Bindings- Returns:
- if the match is successful, returns a MatchResult with the PatternElement and BindingSet; if the match is not successful, returns null
- Throws:
DataflowAnalysisException
-
acceptBranch
public boolean acceptBranch(Edge edge, org.apache.bcel.generic.InstructionHandle source)
Description copied from class:PatternElementReturn whether or not it is acceptable to take the given branch.- Overrides:
acceptBranchin classSingleInstruction- Parameters:
edge- the Edge representing the branchsource- the source instruction of the branch- Returns:
- true if the Edge is acceptable, false if not
-
-