1 19 20 package edu.umd.cs.findbugs.ba.vna; 21 22 23 24 38 public class ValueNumber implements Comparable <ValueNumber> { 39 42 int number; 43 44 47 int flags; 48 49 53 public static final int RETURN_VALUE = 1; 54 55 public static final int ARRAY_VALUE = 2; 56 57 public static final int CONSTANT_CLASS_OBJECT = 4; 58 59 public static final int PHI_NODE = 8; 60 61 66 ValueNumber(int number) { 67 this.number = number; 68 this.flags = 0; 69 } 70 71 public int getNumber() { 72 return number; 73 } 74 75 public int getFlags() { 76 return flags; 77 } 78 79 public void setFlags(int flags) { 80 this.flags = flags; 81 } 82 83 public void setFlag(int flag) { 84 flags |= flag; 85 } 86 87 public boolean hasFlag(int flag) { 88 return (flags & flag) == flag; 89 } 90 91 @Override 92 public String toString() { 93 if (flags != 0) return number+"("+flags+"),"; 94 return number + ","; 95 } 96 97 public int hashCode() { 98 return number; 99 } 100 public boolean equals(Object o) { 101 if (o instanceof ValueNumber) 102 return number == ((ValueNumber)o).number; 103 return false; 104 } 105 public int compareTo(ValueNumber other) { 106 return number - other.number; 107 } 108 122 } 123 124 | Popular Tags |