Package edu.umd.cs.findbugs.ba.bcp
Class PatternMatcher
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.bcp.PatternMatcher
-
- All Implemented Interfaces:
DFSEdgeTypes
,DFSEdgeTypes
public class PatternMatcher extends java.lang.Object implements 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:
ByteCodePattern
-
-
Field Summary
-
Fields inherited from interface edu.umd.cs.findbugs.graph.DFSEdgeTypes
BACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGE, UNKNOWN_EDGE
-
-
Constructor Summary
Constructors Constructor Description PatternMatcher(ByteCodePattern pattern, ClassContext classContext, org.apache.bcel.classfile.Method method)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator<ByteCodePatternMatch>
byteCodePatternMatchIterator()
Return an Iterator over the ByteCodePatternMatch objects representing successful matches of the ByteCodePattern.PatternMatcher
execute()
Search for examples of the ByteCodePattern.
-
-
-
Constructor Detail
-
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 Detail
-
execute
public PatternMatcher execute() throws DataflowAnalysisException
Search for examples of the ByteCodePattern.- Returns:
- this object
- Throws:
DataflowAnalysisException
- if the ValueNumberAnalysis did not produce useful values for the method
-
byteCodePatternMatchIterator
public java.util.Iterator<ByteCodePatternMatch> byteCodePatternMatchIterator()
Return an Iterator over the ByteCodePatternMatch objects representing successful matches of the ByteCodePattern.
-
-