## org.codehaus.groovy.syntax
Class Token

A `CSTNode` produced by the `Lexer`.

see:
  antlr.Parser

see:
  antlr.Token

see:
  Reduction

see:
  Types

author:
  bob mcwhirter

author:
  Chris Poirier

version:
  $Id: Token.java 6778 2007-07-02 10:40:33Z glaforge $

Field Summary
`Token` | `EOF`
`Token` | `NULL`
`int` | `meaning`
`int` | `startColumn`
`int` | `startLine`
`String` | `text`
`int` | `type`

Constructor Summary
`Token(int type, String text, int startLine, int startColumn)` Initializes the Token with the specified information.
`Token()` Initializes the NULL Token.

Method Summary
`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.
`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.
`String` | `getText()` Returns the text of the token.
`int` | `getType()` Returns the actual type of the node.
`static Token` | `newDecimal(String text, int startLine, int startColumn)` Creates a token that represents a decimal number.
`static Token` | `newIdentifier(String text, int startLine, int startColumn)` Creates a token that represents an identifier.
`static Token` | `newInteger(String text, int startLine, int startColumn)` Creates a token that represents an integer.
`static Token` | `newKeyword(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(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(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 it's root Token).
`void` | `setText(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).

Constructor Detail

### Token

    public Token(int type, String text, int startLine, int startColumn)

  Initializes the Token with the specified information.

### Token

    Token()

  Initializes the NULL Token.

Method Detail

### asReduction

    public Reduction asReduction()

  Creates a `Reduction` from this token. Returns self if the node is already a `Reduction`.

### 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.

### dup

    public Token dup()

  Returns a copy of this Token.

### get

    public CSTNode get(int index)

  Returns the specified element, or null.

### getMeaning

    public int getMeaning()

  Returns the meaning of this node. If the node isEmpty(), returns the type of Token.NULL.

### 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()`.

### getRootText

    public 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.

### getStartColumn

    public int getStartColumn()

  Returns the starting column of the node. Returns -1 if not known.

### getStartLine

    public int getStartLine()

  Returns the starting line of the node. Returns -1 if not known.

### getText

    public String getText()

  Returns the text of the token. Equivalent to `getRootText()` when called directly.

### getType

    public int getType()

  Returns the actual type of the node. If the node isEmpty(), returns the type of Token.NULL.

### newDecimal

    public static Token newDecimal(String text, int startLine, int startColumn)

  Creates a token that represents a decimal number.

### newIdentifier

    public static Token newIdentifier(String text, int startLine, int startColumn)

  Creates a token that represents an identifier.

### newInteger

    public static Token newInteger(String text, int startLine, int startColumn)

  Creates a token that represents an integer.

### newKeyword

    public static Token newKeyword(String text, int startLine, int startColumn)

  Creates a token that represents a keyword. Returns null if the specified text isn't a keyword.

### newPlaceholder

    public static Token newPlaceholder(int type)

  Creates a token with the specified meaning.

### newString

    public static Token newString(String text, int startLine, int startColumn)

  Creates a token that represents a double-quoted string.

### 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(String type, int startLine, int startColumn)

  Creates a token that represents a symbol, using a library for the type.

### setMeaning

    public CSTNode setMeaning(int meaning)

  Sets the meaning for this node (and it's root Token). Not valid if the node isEmpty(). Returns this token, for convenience.

### setText

    public void setText(String text)

  Not advisable, but if you need to adjust the token's text, this will do it.

### size

    public int size()

  Returns the number of elements in the node (including root).