1 4 package net.sourceforge.pmd.dfa.variableaccess; 5 6 9 public class VariableAccess { 10 11 public static final int DEFINITION = 0; 12 public static final int REFERENCING = 1; 13 public static final int UNDEFINITION = 2; 14 15 private int accessType; 16 private String variableName; 17 18 public VariableAccess(int accessType, String varName) { 19 this.accessType = accessType; 20 int dotPos = varName.indexOf('.'); 21 variableName = dotPos < 0 ? 22 varName : 23 varName.substring(0, dotPos); 24 } 25 26 public int getAccessType() { 28 return accessType; 29 } 30 31 public boolean accessTypeMatches(int otherType) { 32 return accessType == otherType; 33 } 34 35 public boolean isDefinition() { 36 return this.accessType == DEFINITION; 37 } 38 39 public boolean isReference() { 40 return this.accessType == REFERENCING; 41 } 42 43 public boolean isUndefinition() { 44 return this.accessType == UNDEFINITION; 45 } 46 47 public String getVariableName() { 48 return variableName; 49 } 50 51 public String toString() { 52 if (isDefinition()) return "Definition(" + variableName + ")"; 53 if (isReference()) return "Reference(" + variableName + ")"; 54 if (isUndefinition()) return "Undefinition(" + variableName + ")"; 55 throw new RuntimeException ("Access type was never set"); 56 } 57 } 58 | Popular Tags |