## org.codehaus.groovy.ast.expr
Class Expression

    java.lang.Object
      org.codehaus.groovy.ast.ASTNode
          org.codehaus.groovy.ast.AnnotatedNode
              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.