1 19 20 package edu.umd.cs.findbugs.ba.npe; 21 22 import java.util.BitSet ; 23 24 28 public class UnconditionalDerefSet extends BitSet { 29 private static final long serialVersionUID = 1L; 30 31 private final int numParams; 32 33 public UnconditionalDerefSet(int numParams) { 34 this.numParams = numParams; 35 } 36 37 public void setTop() { 38 clear(); 39 set(numParams); 40 } 41 42 public void setBottom() { 43 clear(); 44 set(numParams + 1); 45 } 46 47 public boolean isValid() { 48 return !isTop() && !isBottom(); 49 } 50 51 public boolean isTop() { 52 return get(numParams); 53 } 54 55 public boolean isBottom() { 56 return get(numParams + 1); 57 } 58 59 @Override 60 public String toString() { 61 if (isTop()) 62 return "TOP"; 63 else if (isBottom()) 64 return "BOTTOM"; 65 else 66 return super.toString(); 67 } 68 } 69 | Popular Tags |