# Package org.codehaus.groovy.ast.expr

package org.codehaus.groovy.ast.expr

AST nodes for Groovy expressions

- Related Packages
  Package
  Description
  org.codehaus.groovy.ast
  Groovy AST nodes for the syntax of the language
  org.codehaus.groovy.ast.builder
  org.codehaus.groovy.ast.decompiled
  org.codehaus.groovy.ast.stmt
  AST nodes for Groovy statements
  org.codehaus.groovy.ast.tools
- Class
  Description
  AnnotationConstantExpression
  Represents an annotation "constant" that may appear in annotation attributes (mainly used as a marker).
  ArgumentListExpression
  Represents one or more arguments being passed into a method
  ArrayExpression
  Represents an array object construction.
  AttributeExpression
  Represents an attribute access (accessing the field of a class) such as the expression "foo.@bar".
  BinaryExpression
  Represents two expressions and an operation
  BitwiseNegationExpression
  BooleanExpression
  Represents a boolean expression
  CastExpression
  Represents a typecast expression.
  ClassExpression
  Represents access to a Java/Groovy class in an expression, such as when invoking a static method or accessing a static type
  ClosureExpression
  Represents a closure expression such as
  ClosureListExpression
  This class represents a list of expressions used to create closures.
  ConstantExpression
  Represents a constant expression such as null, true, false.
  ConstructorCallExpression
  A constructor call.
  DeclarationExpression
  Represents one or more local variables.
  ElvisOperatorExpression
  Represents a short ternary expression x ?: y, which is equal to
  EmptyExpression
  Placeholder for an empty expression.
  Expression
  Base class for any expression.
  ExpressionTransformer
  Provides a way to transform expressions.
  FieldExpression
  Represents a field access such as the expression "this.foo".
  GStringExpression
  Represents a String expression which contains embedded values inside it such as "hello there ${user} how are you" which is expanded lazily
  LambdaExpression
  Represents a lambda expression such as one of these:
  ListExpression
  Represents a list expression [1, 2, 3] which creates a mutable List
  MapEntryExpression
  Represents an entry inside a map expression such as `1 : 2` or `'foo' : 'bar'`.
  MapExpression
  Represents a map expression [1 : 2, "a" : "b", x : y] which creates a mutable Map
  MethodCall
  Interface defining common methods for method calls.
  MethodCallExpression
  A method call on an object or class.
  MethodPointerExpression
  Represents a method pointer on an object such as `foo.&bar` which means find the method pointer for the `bar` method on the `foo` instance.
  MethodReferenceExpression
  Represents a method reference or a constructor reference, e.g.
  NamedArgumentListExpression
  Represents one or more arguments being passed into a method by name
  NotExpression
  PostfixExpression
  Represents a postfix expression like foo++ or bar++
  PrefixExpression
  Represents a prefix expression like ++foo or --bar
  PropertyExpression
  Represents a property access such as the expression "foo.bar".
  RangeExpression
  Represents a range expression such as for iterating.
  SpreadExpression
  Represents a spread expression *x in the list expression [1, *x, 2].
  SpreadMapExpression
  Represents a spread map expression *:m in the map expression [1, *:m, 2, "c":100] or in the method invoke expression func(1, *:m, 2, "c":100).
  StaticMethodCallExpression
  A static method call on a class
  TernaryExpression
  Represents a ternary expression (booleanExpression) ? expression : expression
  TupleExpression
  UnaryMinusExpression
  UnaryPlusExpression
  VariableExpression
  Represents a local variable, the simplest form of expression.