summaryrefslogtreecommitdiff
path: root/dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-03 17:45:05 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-03 17:45:05 -0400
commitc8ae1ec096f5d1ac6db4f3a0035f7da106444e4e (patch)
tree6c32c65d84d11efcea2bad699d0b68fbbb362290 /dice-lang/src/main/java/bjc/dicelang/ast/VariableDiceNode.java
parent9a6ac8c88689073cd0769da15b40c4fe091f0813 (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.java62
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