1 19 20 package edu.umd.cs.findbugs.ba.bcp; 21 22 import org.apache.bcel.generic.ConstantPoolGen; 23 import org.apache.bcel.generic.InstructionHandle; 24 25 import edu.umd.cs.findbugs.ba.DataflowAnalysisException; 26 import edu.umd.cs.findbugs.ba.Edge; 27 import edu.umd.cs.findbugs.ba.vna.ValueNumberFrame; 28 29 36 public class Wild extends PatternElement { 37 private int min, max; 38 39 43 public Wild() { 44 this.min = 0; 45 this.max = Integer.MAX_VALUE; 46 } 47 48 53 public Wild(int max) { 54 this.min = 0; 55 this.max = max; 56 } 57 58 64 public Wild(int min, int max) { 65 this.min = min; 66 this.max = max; 67 } 68 69 75 public void setMinAndMax(int min, int max) { 76 this.min = min; 77 this.max = max; 78 } 79 80 @Override 81 public int minOccur() { 82 return min; 83 } 84 85 @Override 86 public int maxOccur() { 87 return max; 88 } 89 90 @Override 91 public boolean acceptBranch(Edge edge, InstructionHandle source) { 92 return true; 93 } 94 95 @Override 96 public MatchResult match(InstructionHandle handle, ConstantPoolGen cpg, 97 ValueNumberFrame before, ValueNumberFrame after, BindingSet bindingSet) throws DataflowAnalysisException { 98 return new MatchResult(this, bindingSet); 99 } 100 } 101 102 | Popular Tags |