CharacterToken.java
package org.sterling.source.syntax;
import java.util.Objects;
public class CharacterToken extends Token {
private final char charValue;
public CharacterToken(Token token, char charValue) {
super(token.getKind(), token.getValue(), token.getRange());
this.charValue = charValue;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
} else if (o instanceof CharacterToken) {
CharacterToken other = (CharacterToken) o;
return super.equals(other)
&& charValue == other.charValue;
} else {
return false;
}
}
public char getCharValue() {
return charValue;
}
@Override
public int hashCode() {
return Objects.hash(super.hashCode(), charValue);
}
@Override
public String toString() {
return super.toString() + " raw=[" + charValue + "]";
}
}