org.codehaus.groovy.syntax
Class Reduction

java.lang.Object
  extended by org.codehaus.groovy.syntax.CSTNode
      extended by org.codehaus.groovy.syntax.Reduction

public class Reduction
extends CSTNode

A syntax reduction, produced by the Parser.

Version:
$Id: Reduction.java 7922 2007-09-04 01:42:57Z paulk $
Author:
bob mcwhirter, Chris Poirier
See Also:
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()
          Creates a Reduction 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 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)
          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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY

public static final Reduction EMPTY
Constructor Detail

Reduction

public Reduction(Token root)
Initializes the Reduction with the specified root.

Method Detail

newContainer

public static Reduction newContainer()
Creates a new Reduction with Token.NULL as it's root.


isEmpty

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

Overrides:
isEmpty in class CSTNode

size

public int size()
Returns the number of elements in the node.

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, 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()).

Specified by:
getRoot in class CSTNode

markAsExpression

public void markAsExpression()
Marks the node a complete expression.

Overrides:
markAsExpression in class CSTNode

isAnExpression

public boolean isAnExpression()
Returns true if the node is a complete expression.

Overrides:
isAnExpression in class CSTNode

add

public CSTNode add(CSTNode element)
Adds an element to the node.

Overrides:
add in class CSTNode

set

public CSTNode set(int index,
                   CSTNode element)
Sets an element in at the specified index.

Overrides:
set in class CSTNode

remove

public CSTNode remove(int index)
Removes a node from the Reduction. You cannot remove the root node (index 0).


asReduction

public Reduction asReduction()
Creates a Reduction from this node. Returns self if the node is already a Reduction.

Specified by:
asReduction in class CSTNode

Copyright © 2003-2010 The Codehaus. All rights reserved.