Package org.codehaus.groovy.syntax

# Class Token

java.lang.Object
org.codehaus.groovy.syntax.CSTNode
org.codehaus.groovy.syntax.Token

    public class Token
    extends CSTNode

A `CSTNode` produced by the `Lexer`.

See Also:
  `Parser`, `Token`, `Reduction`, `Types`

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static Token` | `EOF` |
  `static Token` | `NULL` |

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Token​(int type, java.lang.String text, int startLine, int startColumn)` | Initializes the Token with the specified information.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Reduction` | `asReduction()` | Creates a `Reduction` from this token.
  `Reduction` | `asReduction​(CSTNode second)` | Creates a `Reduction` from this token, adding the supplied node as the second element.
  `Reduction` | `asReduction​(CSTNode second, CSTNode third)` | Creates a `Reduction` from this token, adding the supplied nodes as the second and third element, respectively.
  `Reduction` | `asReduction​(CSTNode second, CSTNode third, CSTNode fourth)` | Creates a `Reduction` from this token, adding the supplied nodes as the second, third, and fourth element, respectively.
  `Token` | `dup()` | Returns a copy of this Token.
  `CSTNode` | `get​(int index)` | Returns the specified element, or null.
  `int` | `getMeaning()` | Returns the meaning of this node.
  `Token` | `getRoot()` | Returns the root of the node.
  `java.lang.String` | `getRootText()` | Returns the text of the root node.
  `int` | `getStartColumn()` | Returns the starting column of the node.
  `int` | `getStartLine()` | Returns the starting line of the node.
  `java.lang.String` | `getText()` | Returns the text of the token.
  `int` | `getType()` | Returns the actual type of the node.
  `static Token` | `newDecimal​(java.lang.String text, int startLine, int startColumn)` | Creates a token that represents a decimal number.
  `static Token` | `newIdentifier​(java.lang.String text, int startLine, int startColumn)` | Creates a token that represents an identifier.
  `static Token` | `newInteger​(java.lang.String text, int startLine, int startColumn)` | Creates a token that represents an integer.
  `static Token` | `newKeyword​(java.lang.String text, int startLine, int startColumn)` | Creates a token that represents a keyword.
  `static Token` | `newPlaceholder​(int type)` | Creates a token with the specified meaning.
  `static Token` | `newString​(java.lang.String text, int startLine, int startColumn)` | Creates a token that represents a double-quoted string.
  `static Token` | `newSymbol​(int type, int startLine, int startColumn)` | Creates a token that represents a symbol, using a library for the text.
  `static Token` | `newSymbol​(java.lang.String type, int startLine, int startColumn)` | Creates a token that represents a symbol, using a library for the type.
  `CSTNode` | `setMeaning​(int meaning)` | Sets the meaning for this node (and its root Token).
  `void` | `setText​(java.lang.String text)` | Not advisable, but if you need to adjust the token's text, this will do it.
  `int` | `size()` | Returns the number of elements in the node (including root).

  ### Methods inherited from class org.codehaus.groovy.syntax.CSTNode

  `add, addChildrenOf, canMean, children, get, getDescription, getMeaningAs, getRoot, hasChildren, isA, isAllOf, isAnExpression, isEmpty, isOneOf, markAsExpression, set, toString, write, write`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### NULL

    public static final Token NULL

  - ### EOF

    public static final Token EOF

- ## Constructor Details

  - ### Token

    public Token​(int type, java.lang.String text, int startLine, int startColumn)
    Initializes the Token with the specified information.

- ## Method Details

  - ### dup

    public Token dup()
    Returns a copy of this Token.

  - ### getMeaning

    public int getMeaning()
    Returns the meaning of this node. If the node isEmpty(), returns the type of Token.NULL.
    Overrides:
      `getMeaning` in class `CSTNode`

  - ### setMeaning

    public CSTNode setMeaning​(int meaning)
    Sets the meaning for this node (and its root Token). Not valid if the node isEmpty(). Returns this token, for convenience.
    Overrides:
      `setMeaning` in class `CSTNode`

  - ### getType

    public int getType()
    Returns the actual type of the node. If the node isEmpty(), returns the type of Token.NULL.
    Overrides:
      `getType` in class `CSTNode`

  - ### size

    public int size()
    Returns the number of elements in the node (including root).
    Specified by:
      `size` in class `CSTNode`

  - ### get

    public CSTNode get​(int index)
    Returns the specified element, or null.
    Specified by:
      `get` in class `CSTNode`

  - ### getRoot

    public Token getRoot()
    Returns the root of the node. By convention, all nodes have a Token as the first element (or root), which indicates the type of the node. May return null if the node `isEmpty()`.
    Specified by:
      `getRoot` in class `CSTNode`

  - ### getRootText

    public java.lang.String getRootText()
    Returns the text of the root node. Uses `getRoot(true)` to get the root, so you will only receive null in return if the root token returns it.
    Overrides:
      `getRootText` in class `CSTNode`

  - ### getText

    public java.lang.String getText()
    Returns the text of the token. Equivalent to `getRootText()` when called directly.

  - ### setText

    public void setText​(java.lang.String text)
    Not advisable, but if you need to adjust the token's text, this will do it.

  - ### getStartLine

    public int getStartLine()
    Returns the starting line of the node. Returns -1 if not known.
    Overrides:
      `getStartLine` in class `CSTNode`

  - ### getStartColumn

    public int getStartColumn()
    Returns the starting column of the node. Returns -1 if not known.
    Overrides:
      `getStartColumn` in class `CSTNode`

  - ### asReduction

    public Reduction asReduction()
    Creates a `Reduction` from this token. Returns self if the node is already a `Reduction`.
    Specified by:
      `asReduction` in class `CSTNode`

  - ### asReduction

    public Reduction asReduction​(CSTNode second)
    Creates a `Reduction` from this token, adding the supplied node as the second element.

  - ### asReduction

    public Reduction asReduction​(CSTNode second, CSTNode third)
    Creates a `Reduction` from this token, adding the supplied nodes as the second and third element, respectively.

  - ### asReduction

    public Reduction asReduction​(CSTNode second, CSTNode third, CSTNode fourth)
    Creates a `Reduction` from this token, adding the supplied nodes as the second, third, and fourth element, respectively.

  - ### newKeyword

    public static Token newKeyword​(java.lang.String text, int startLine, int startColumn)
    Creates a token that represents a keyword. Returns null if the specified text isn't a keyword.

  - ### newString

    public static Token newString​(java.lang.String text, int startLine, int startColumn)
    Creates a token that represents a double-quoted string.

  - ### newIdentifier

    public static Token newIdentifier​(java.lang.String text, int startLine, int startColumn)
    Creates a token that represents an identifier.

  - ### newInteger

    public static Token newInteger​(java.lang.String text, int startLine, int startColumn)
    Creates a token that represents an integer.

  - ### newDecimal

    public static Token newDecimal​(java.lang.String text, int startLine, int startColumn)
    Creates a token that represents a decimal number.

  - ### newSymbol

    public static Token newSymbol​(int type, int startLine, int startColumn)
    Creates a token that represents a symbol, using a library for the text.

  - ### newSymbol

    public static Token newSymbol​(java.lang.String type, int startLine, int startColumn)
    Creates a token that represents a symbol, using a library for the type.

  - ### newPlaceholder

    public static Token newPlaceholder​(int type)
    Creates a token with the specified meaning.