org.codehaus.groovy.ast.expr
Class Expression

java.lang.Object
  extended by org.codehaus.groovy.ast.ASTNode
      extended by org.codehaus.groovy.ast.AnnotatedNode
          extended by org.codehaus.groovy.ast.expr.Expression
Direct Known Subclasses:
ArrayExpression, BinaryExpression, BitwiseNegationExpression, BooleanExpression, BytecodeExpression, CastExpression, ClassExpression, ClosureExpression, ConstantExpression, ConstructorCallExpression, EmptyExpression, FieldExpression, GStringExpression, ListExpression, MapEntryExpression, MapExpression, MethodCallExpression, MethodPointerExpression, PostfixExpression, PrefixExpression, PropertyExpression, RangeExpression, RegexExpression, SpreadExpression, SpreadMapExpression, StaticMethodCallExpression, TernaryExpression, TupleExpression, UnaryMinusExpression, UnaryPlusExpression, VariableExpression

public abstract class Expression
extends AnnotatedNode

Represents a base class for expressions which evaluate as an object

Version:
$Revision: 17114 $
Author:
James Strachan

Constructor Summary
Expression()
           
 
Method Summary
 ClassNode getType()
           
 void setType(ClassNode t)
           
abstract  Expression transformExpression(ExpressionTransformer transformer)
          Return a copy of the expression calling the transformer on any nested expressions
protected  List<Expression> transformExpressions(List<? extends Expression> expressions, ExpressionTransformer transformer)
          Transforms the list of expressions
protected
<T extends Expression>
List<T>
transformExpressions(List<? extends Expression> expressions, ExpressionTransformer transformer, Class<T> transformedType)
          Transforms the list of expressions, and checks that all transformed expressions have the given type.
 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, isSynthetic, setDeclaringClass, setSynthetic
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setSourcePosition, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Expression

public Expression()
Method Detail

transformExpression

public abstract Expression transformExpression(ExpressionTransformer transformer)
Return a copy of the expression calling the transformer on any nested expressions

Parameters:
transformer -

transformExpressions

protected List<Expression> transformExpressions(List<? extends Expression> expressions,
                                                ExpressionTransformer transformer)
Transforms the list of expressions

Returns:
a new list of transformed expressions

transformExpressions

protected <T extends Expression> List<T> transformExpressions(List<? extends Expression> expressions,
                                                              ExpressionTransformer transformer,
                                                              Class<T> transformedType)
Transforms the list of expressions, and checks that all transformed expressions have the given type.

Returns:
a new list of transformed expressions

getType

public ClassNode getType()

setType

public void setType(ClassNode t)

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