Package org.codehaus.groovy.syntax
Class Reduction
java.lang.Object
org.codehaus.groovy.syntax.CSTNode
org.codehaus.groovy.syntax.Reduction
public class Reduction extends CSTNode
A syntax reduction, produced by the
Parser
.-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description CSTNode
add(CSTNode element)
Adds an element to the node.Reduction
asReduction()
Creates aReduction
from this node.CSTNode
get(int index)
Returns the specified element, or null.Token
getRoot()
Returns the root of the node, the Token that indicates its type.boolean
isAnExpression()
Returns true if the node is a complete expression.boolean
isEmpty()
Returns true if the node is completely empty (no root, even).void
markAsExpression()
Marks the node a complete expression.static Reduction
newContainer()
Creates a newReduction
withToken.NULL
as its root.CSTNode
remove(int index)
Removes a node from theReduction
.CSTNode
set(int index, CSTNode element)
Sets an element in at the specified index.int
size()
Returns the number of elements in the node.Methods inherited from class org.codehaus.groovy.syntax.CSTNode
addChildrenOf, canMean, children, get, getDescription, getMeaning, getMeaningAs, getRoot, getRootText, getStartColumn, getStartLine, getType, hasChildren, isA, isAllOf, isOneOf, setMeaning, toString, write, write
-
Field Details
-
EMPTY
-
-
Constructor Details
-
Reduction
Initializes theReduction
with the specified root.
-
-
Method Details
-
newContainer
Creates a newReduction
withToken.NULL
as its root. -
isEmpty
public boolean isEmpty()Returns true if the node is completely empty (no root, even). -
size
public int size()Returns the number of elements in the node. -
get
Returns the specified element, or null. -
getRoot
Returns the root of the node, the Token that indicates its type. Returns null if there is no root (usually only if the node is a placeholder of some kind -- see isEmpty()). -
markAsExpression
public void markAsExpression()Marks the node a complete expression.- Overrides:
markAsExpression
in classCSTNode
-
isAnExpression
public boolean isAnExpression()Returns true if the node is a complete expression.- Overrides:
isAnExpression
in classCSTNode
-
add
Adds an element to the node. -
set
Sets an element in at the specified index. -
remove
Removes a node from theReduction
. You cannot remove the root node (index 0). -
asReduction
Creates aReduction
from this node. Returns self if the node is already aReduction
.- Specified by:
asReduction
in classCSTNode
-