Token.java 965 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package me.hammerle.snuviscript.tokenizer;
  2. public class Token {
  3. private final TokenType type;
  4. private final int line;
  5. public Token(TokenType type, int line) {
  6. this.type = type;
  7. this.line = line;
  8. }
  9. public TokenType getType() {
  10. return type;
  11. }
  12. public Object getData() {
  13. return null;
  14. }
  15. public int getLine() {
  16. return line;
  17. }
  18. @Override
  19. public String toString() {
  20. StringBuilder sb = new StringBuilder();
  21. sb.append("(");
  22. sb.append(line & 0xFFFFFF);
  23. sb.append(", ");
  24. sb.append(type);
  25. if(getData() != null) {
  26. sb.append(", ");
  27. if(getData() instanceof String) {
  28. sb.append('"');
  29. sb.append(getData());
  30. sb.append('"');
  31. } else {
  32. sb.append(getData());
  33. }
  34. }
  35. sb.append(")");
  36. return sb.toString();
  37. }
  38. }