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.
ByteCodePatternBACK_EDGE, CROSS_EDGE, FORWARD_EDGE, TREE_EDGE, UNKNOWN_EDGE| Constructor and Description |
|---|
PatternMatcher(ByteCodePattern pattern,
ClassContext classContext,
org.apache.bcel.classfile.Method method)
Constructor.
|
| Modifier and Type | Method and 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.
|
public PatternMatcher(ByteCodePattern pattern, ClassContext classContext, org.apache.bcel.classfile.Method method) throws CFGBuilderException, DataflowAnalysisException
pattern - the ByteCodePattern to look for examples ofclassContext - ClassContext for the class to analyzemethod - the Method to analyzeCFGBuilderExceptionDataflowAnalysisExceptionpublic PatternMatcher execute() throws DataflowAnalysisException
DataflowAnalysisException - if the ValueNumberAnalysis did not produce useful values for
the methodpublic java.util.Iterator<ByteCodePatternMatch> byteCodePatternMatchIterator()
SpotBugs is licensed under the LGPL.