FindBugs™ 1.3.9

edu.umd.cs.findbugs.ba.bcp
Class Wild

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.bcp.PatternElement
      extended by edu.umd.cs.findbugs.ba.bcp.Wild

public class Wild
extends PatternElement

A wildcard PatternElement, which matches any kind of instruction indiscriminately.

Author:
David Hovemeyer
See Also:
PatternElement

Constructor Summary
Wild()
          Default constructor.
Wild(int max)
          Constructor.
Wild(int min, int max)
          Constructor.
 
Method Summary
 boolean acceptBranch(Edge edge, org.apache.bcel.generic.InstructionHandle source)
          Return whether or not it is acceptable to take the given branch.
 MatchResult match(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.
 int maxOccur()
          Return the maximum number of instructions this PatternElement must match in the ByteCodePattern.
 int minOccur()
          Return the minimum number of instructions this PatternElement must match in the ByteCodePattern.
 void setMinAndMax(int min, int max)
          Set min and max values.
 
Methods inherited from class edu.umd.cs.findbugs.ba.bcp.PatternElement
addOrCheckDefinition, allowTrailingEdges, dominatedBy, getDominatedBy, getLabel, getNext, label, lookup, setAllowTrailingEdges, setIndex, setNext, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Wild

public Wild()
Default constructor. Creates a wildcard that matches from 0 to Integer.MAX_VALUE instructions.


Wild

public Wild(int max)
Constructor. Matches any number of instructions from 0 to the maximum specified.

Parameters:
max - the maximum number of instructions the wildcard may match

Wild

public Wild(int min,
            int max)
Constructor.

Parameters:
min - minimum number of times the wildcard must match
max - maximum number of times the wildcard may match
Method Detail

setMinAndMax

public void setMinAndMax(int min,
                         int max)
Set min and max values.

Parameters:
min - minimum number of times the wildcard must match
max - maximum number of times the wildcard may match

minOccur

public int minOccur()
Description copied from class: PatternElement
Return the minimum number of instructions this PatternElement must match in the ByteCodePattern.

Specified by:
minOccur in class PatternElement

maxOccur

public int maxOccur()
Description copied from class: PatternElement
Return the maximum number of instructions this PatternElement must match in the ByteCodePattern.

Specified by:
maxOccur in class PatternElement

acceptBranch

public boolean acceptBranch(Edge edge,
                            org.apache.bcel.generic.InstructionHandle source)
Description copied from class: PatternElement
Return whether or not it is acceptable to take the given branch.

Specified by:
acceptBranch in class PatternElement
Parameters:
edge - the Edge representing the branch
source - the source instruction of the branch
Returns:
true if the Edge is acceptable, false if not

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: PatternElement
Return whether or not this element matches the given instruction with the given Bindings in effect.

Specified by:
match in class PatternElement
Parameters:
handle - the instruction
cpg - the ConstantPoolGen from the method
before - the ValueNumberFrame representing values in the Java stack frame just before the execution of the instruction
after - the ValueNumberFrame representing values in the Java stack frame just after the execution of the instruction
bindingSet - 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

FindBugs™ 1.3.9

FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.