summaryrefslogtreecommitdiff
path: root/base/src/bjc/dicelang/scl/WordSCLToken.java
diff options
context:
space:
mode:
authorstudent <student@localhost>2018-02-12 12:01:53 -0500
committerstudent <student@localhost>2018-02-12 12:01:53 -0500
commitc25b68c6b24d86b7d1169ad4ec1e619d79a2b38d (patch)
treedc9579836d6856cf93ae7f682446a4e69a94e37f /base/src/bjc/dicelang/scl/WordSCLToken.java
parentd7af27dab45dd6f82c27519e6b4fd2faa162f884 (diff)
Split SCLToken into subclasses.
Instead of one class with a lot of fields whose state varies based on an enum, we now have a hierarchy of classes that does the same in a more obvious manner.
Diffstat (limited to 'base/src/bjc/dicelang/scl/WordSCLToken.java')
-rw-r--r--base/src/bjc/dicelang/scl/WordSCLToken.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/base/src/bjc/dicelang/scl/WordSCLToken.java b/base/src/bjc/dicelang/scl/WordSCLToken.java
new file mode 100644
index 0000000..46aac4f
--- /dev/null
+++ b/base/src/bjc/dicelang/scl/WordSCLToken.java
@@ -0,0 +1,38 @@
+package bjc.dicelang.scl;
+
+public class WordSCLToken extends SCLToken {
+ public Word wordVal;
+
+ public WordSCLToken(Word wrd) {
+ super(Type.WORD);
+
+ wordVal = wrd;
+ }
+
+ @Override
+ public String toString() {
+ return "WordSCLToken [wordVal=" + wordVal + "]";
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = super.hashCode();
+ result = prime * result + ((wordVal == null) ? 0 : wordVal.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (!super.equals(obj))
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ WordSCLToken other = (WordSCLToken) obj;
+ if (wordVal != other.wordVal)
+ return false;
+ return true;
+ }
+}