Groovy Documentation

## org.codehaus.groovy.syntax
[Java] 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`.

Authors:
  bob mcwhirter
  Chris Poirier

Version:
  \$Id\$

See Also:
  antlr.Parser
  Token
  CSTNode
  Types

Field Summary
`static Reduction` | `EMPTY`

Constructor Summary
`Reduction(Token root)` Initializes the `Reduction` with the specified root.

Method Summary
`CSTNode` | `add(CSTNode element)` Adds an element to the node.
`Reduction` | `asReduction()`
`CSTNode` | `get(int index)` Returns the specified element, or null.
`Token` | `getRoot()` Returns the root of the node, the Token that indicates it's 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 new `Reduction` with `Token.NULL` as it's root.
`CSTNode` | `remove(int index)` Removes a node from the `Reduction`.
`CSTNode` | `set(int index, CSTNode element)`
`int` | `size()` Returns the number of elements in the node.

Methods inherited from class CSTNode
add, addChildrenOf, asReduction, canMean, children, get, get, getDescription, getMeaning, getMeaningAs, getRoot, getRoot, getRootText, getStartColumn, getStartLine, getType, hasChildren, isA, isAllOf, isAnExpression, isEmpty, isOneOf, markAsExpression, set, setMeaning, size, toString, write, write

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Field Detail

### EMPTY

    public static final Reduction EMPTY

Constructor Detail

### Reduction

    public Reduction(Token root)

  Initializes the `Reduction` with the specified root.

Method Detail

### add

    public CSTNode add(CSTNode element)

  Adds an element to the node.

### asReduction

    public Reduction asReduction()

### get

    public CSTNode get(int index)

  Returns the specified element, or null.

### getRoot

    public Token getRoot()

  Returns the root of the node, the Token that indicates it's type. Returns null if there is no root (usually only if the node is a placeholder of some kind -- see isEmpty()).

### isAnExpression

    public boolean isAnExpression()

  Returns true if the node is a complete expression.

### isEmpty

    public boolean isEmpty()

  Returns true if the node is completely empty (no root, even).

### markAsExpression

    public void markAsExpression()

  Marks the node a complete expression.

### newContainer

    public static Reduction newContainer()

  Creates a new `Reduction` with `Token.NULL` as it's root.

### remove

    public CSTNode remove(int index)

  Removes a node from the `Reduction`. You cannot remove the root node (index 0).

### set

    public CSTNode set(int index, CSTNode element)

### size

    public int size()

  Returns the number of elements in the node.

Groovy Documentation