Package edu.umd.cs.findbugs.ba.bcp
Class PatternMatcher
java.lang.Object
edu.umd.cs.findbugs.ba.bcp.PatternMatcher
- All Implemented Interfaces:
DFSEdgeTypes
,DFSEdgeTypes
Match a ByteCodePattern against the code of a method, represented by a CFG. Produces some number of ByteCodePatternMatch objects, which indicate how the pattern matched the bytecode instructions in the method.
This code is a hack and should probably be rewritten.
- Author:
- David Hovemeyer
- See Also:
-
Field Summary
Fields inherited from interface edu.umd.cs.findbugs.graph.DFSEdgeTypes
BACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGE, UNKNOWN_EDGE
-
Constructor Summary
ConstructorDescriptionPatternMatcher
(ByteCodePattern pattern, ClassContext classContext, org.apache.bcel.classfile.Method method) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionReturn an Iterator over the ByteCodePatternMatch objects representing successful matches of the ByteCodePattern.execute()
Search for examples of the ByteCodePattern.
-
Constructor Details
-
PatternMatcher
public PatternMatcher(ByteCodePattern pattern, ClassContext classContext, org.apache.bcel.classfile.Method method) throws CFGBuilderException, DataflowAnalysisException Constructor.- Parameters:
pattern
- the ByteCodePattern to look for examples ofclassContext
- ClassContext for the class to analyzemethod
- the Method to analyze- Throws:
CFGBuilderException
DataflowAnalysisException
-
-
Method Details
-
execute
Search for examples of the ByteCodePattern.- Returns:
- this object
- Throws:
DataflowAnalysisException
- if the ValueNumberAnalysis did not produce useful values for the method
-
byteCodePatternMatchIterator
Return an Iterator over the ByteCodePatternMatch objects representing successful matches of the ByteCodePattern.
-