Class ArrayExpression

All Implemented Interfaces:
GroovydocHolder<AnnotatedNode>, NodeMetaDataHandler

public class ArrayExpression extends Expression
Represents an array object construction. One of:
  • a fixed size array (e.g. new String[3] or new Integer[2][3])
  • an array with an explicit initializer (e.g. new String[]&#123; "foo", "bar" &#125;)
  • Constructor Details

    • ArrayExpression

      public ArrayExpression(ClassNode elementType, List<Expression> initExpressions, List<Expression> sizeExpressions)
    • ArrayExpression

      public ArrayExpression(ClassNode elementType, List<Expression> initExpressions)
      Creates an array using an initializer (list of expressions corresponding to array elements)
  • Method Details

    • addExpression

      public void addExpression(Expression initExpression)
      Add another element to the initializer expressions
    • getExpressions

      public List<Expression> getExpressions()
      Get the initializer expressions
    • visit

      public void visit(GroovyCodeVisitor visitor)
      Overrides:
      visit in class ASTNode
    • isDynamic

      public boolean isDynamic()
    • transformExpression

      public Expression transformExpression(ExpressionTransformer transformer)
      Description copied from class: Expression
      Transforms this expression and any nested expressions.
      Specified by:
      transformExpression in class Expression
    • getExpression

      public Expression getExpression(int i)
      Get a particular initializer expression
    • getElementType

      public ClassNode getElementType()
    • getText

      public String getText()
      Overrides:
      getText in class ASTNode
    • hasInitializer

      public boolean hasInitializer()
      Returns:
      true if the array expression is defined by an explicit initializer
    • getSizeExpression

      public List<Expression> getSizeExpression()
      Returns:
      a list with elements corresponding to the array's dimensions
    • toString

      public String toString()
      Overrides:
      toString in class Object