Token.java 1.0 KB

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