diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-03 17:45:05 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-03 17:45:05 -0400 |
| commit | c8ae1ec096f5d1ac6db4f3a0035f7da106444e4e (patch) | |
| tree | 6c32c65d84d11efcea2bad699d0b68fbbb362290 /dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java | |
| parent | 9a6ac8c88689073cd0769da15b40c4fe091f0813 (diff) | |
General code refactoring and maintenance
Diffstat (limited to 'dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java')
| -rw-r--r-- | dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java | 62 |
1 files changed, 55 insertions, 7 deletions
diff --git a/dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java b/dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java index e02952d..e2dec64 100644 --- a/dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java +++ b/dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java @@ -10,16 +10,50 @@ public class VariableDiceNode implements IDiceASTNode { /** * The variable referenced by this node */ - private String var; + private String variableName; /** * Create a new node representing the specified variable * - * @param data + * @param varName * The name of the variable being referenced */ - public VariableDiceNode(String data) { - this.var = data; + public VariableDiceNode(String varName) { + this.variableName = varName; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + // Handle special cases + if (this == obj) { + return true; + } else if (obj == null) { + return false; + } else if (getClass() != obj.getClass()) { + return false; + } else { + VariableDiceNode other = (VariableDiceNode) obj; + + if (variableName == null) { + if (other.variableName != null) { + return false; + } + } else if (!variableName.equals(other.variableName)) { + return false; + } + + return true; + } + } + + @Override + public DiceASTType getType() { + return DiceASTType.VARIABLE; } /** @@ -28,7 +62,21 @@ public class VariableDiceNode implements IDiceASTNode { * @return the variable referenced by this AST node */ public String getVariable() { - return var; + return variableName; + } + + /* + * (non-Javadoc) + * + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + + ((variableName == null) ? 0 : variableName.hashCode()); + return result; } /* @@ -48,6 +96,6 @@ public class VariableDiceNode implements IDiceASTNode { */ @Override public String toString() { - return var; + return variableName; } -} +}
\ No newline at end of file |
