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
.-
Field Summary
-
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 aReduction
from this token.Reduction
asReduction(CSTNode second)
Creates aReduction
from this token, adding the supplied node as the second element.Reduction
asReduction(CSTNode second, CSTNode third)
Creates aReduction
from this token, adding the supplied nodes as the second and third element, respectively.Reduction
asReduction(CSTNode second, CSTNode third, CSTNode fourth)
Creates aReduction
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
-
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
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 classCSTNode
-
setMeaning
Sets the meaning for this node (and its root Token). Not valid if the node isEmpty(). Returns this token, for convenience.- Overrides:
setMeaning
in classCSTNode
-
getType
public int getType()Returns the actual type of the node. If the node isEmpty(), returns the type of Token.NULL. -
size
public int size()Returns the number of elements in the node (including root). -
get
Returns the specified element, or null. -
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 nodeisEmpty()
. -
getRootText
public java.lang.String getRootText()Returns the text of the root node. UsesgetRoot(true)
to get the root, so you will only receive null in return if the root token returns it.- Overrides:
getRootText
in classCSTNode
-
getText
public java.lang.String getText()Returns the text of the token. Equivalent togetRootText()
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 classCSTNode
-
getStartColumn
public int getStartColumn()Returns the starting column of the node. Returns -1 if not known.- Overrides:
getStartColumn
in classCSTNode
-
asReduction
Creates aReduction
from this token. Returns self if the node is already aReduction
.- Specified by:
asReduction
in classCSTNode
-
asReduction
Creates aReduction
from this token, adding the supplied node as the second element. -
asReduction
Creates aReduction
from this token, adding the supplied nodes as the second and third element, respectively. -
asReduction
Creates aReduction
from this token, adding the supplied nodes as the second, third, and fourth element, respectively. -
newKeyword
Creates a token that represents a keyword. Returns null if the specified text isn't a keyword. -
newString
Creates a token that represents a double-quoted string. -
newIdentifier
Creates a token that represents an identifier. -
newInteger
Creates a token that represents an integer. -
newDecimal
Creates a token that represents a decimal number. -
newSymbol
Creates a token that represents a symbol, using a library for the text. -
newSymbol
Creates a token that represents a symbol, using a library for the type. -
newPlaceholder
Creates a token with the specified meaning.
-