Package edu.umd.cs.findbugs.ba.bcp
Class Opcode
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.bcp.PatternElement
-
- edu.umd.cs.findbugs.ba.bcp.Opcode
-
public class Opcode extends PatternElement
PatternElement to match instructions with a particular opcode.- Author:
- David Hovemeyer
- See Also:
PatternElement
-
-
Constructor Summary
Constructors Constructor Description Opcode(int opcode)Constructor.
-
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.intmaxOccur()Return the maximum number of instructions this PatternElement must match in the ByteCodePattern.intminOccur()Return the minimum number of instructions this PatternElement must match in the ByteCodePattern.-
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.- Specified by:
acceptBranchin classPatternElement- Parameters:
edge- the Edge representing the branchsource- the source instruction of the branch- Returns:
- true if the Edge is acceptable, false if not
-
minOccur
public int minOccur()
Description copied from class:PatternElementReturn the minimum number of instructions this PatternElement must match in the ByteCodePattern.- Specified by:
minOccurin classPatternElement
-
maxOccur
public int maxOccur()
Description copied from class:PatternElementReturn the maximum number of instructions this PatternElement must match in the ByteCodePattern.- Specified by:
maxOccurin classPatternElement
-
-