Class Expression

All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>, NodeMetaDataHandler
Direct Known Subclasses:
AbstractGinqExpression, ArrayExpression, BinaryExpression, BitwiseNegationExpression, BooleanExpression, BytecodeExpression, CastExpression, ClassExpression, ClosureExpression, ConstantExpression, ConstructorCallExpression, EmptyExpression, FieldExpression, GStringExpression, ListExpression, ListOfExpressionsExpression, MapEntryExpression, MapExpression, MethodCallExpression, MethodPointerExpression, PostfixExpression, PrefixExpression, PropertyExpression, RangeExpression, SpreadExpression, SpreadMapExpression, StaticMethodCallExpression, TemporaryVariableExpression, TernaryExpression, TupleExpression, UnaryMinusExpression, UnaryPlusExpression, VariableExpression

public abstract class Expression extends AnnotatedNode
Represents a base class for expressions which evaluate as an object
  • Field Details

    • EMPTY_ARRAY

      public static final Expression[] EMPTY_ARRAY
  • Constructor Details

    • Expression

      public Expression()
  • Method Details

    • 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)