Class Expression

All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>, NodeMetaDataHandler
Direct Known Subclasses:
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)