# Package org.codehaus.groovy.ast.expr

## Package org.codehaus.groovy.ast.expr Description

AST nodes for Groovy expressions

- Interface Summary
  Interface | Description
  --- | ---
  ExpressionTransformer | Functional interface for transforming Expression nodes during AST traversal and manipulation.
  MethodCall | Interface defining common methods for method calls.

- Class Summary
  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 literal or array construction expression.
  AttributeExpression | Represents an attribute access (accessing the field of a class) such as the expression "foo.
  BinaryExpression | Represents a binary operation between two expressions, such as addition, subtraction, comparison, or array/map access.
  BitwiseNegationExpression |
  BooleanExpression | Represents a boolean expression
  CastExpression | Represents a type cast expression in Groovy.
  ClassExpression | Represents access to a Java or Groovy class object as an expression.
  ClosureExpression | Represents a closure expression such as `{ statement` } or `{ i -> statement` } or `{ i, x, String y -> statement` }.
  ClosureListExpression | This class represents a list of expressions used to create closures.
  ConstantExpression | Represents a constant value expression such as literals (null, true, false, numbers, strings), class literals, and other compile-time constant values.
  ConstructorCallExpression | Represents a constructor call expression.
  DeclarationExpression | Represents one or more local variables.
  ElvisOperatorExpression | Represents a short ternary expression x ?
  EmptyExpression | Placeholder for an empty expression.
  Expression | Base class for all expression nodes in the Groovy AST.
  FieldExpression | Represents a field access such as the expression "this.foo".
  GStringExpression | Represents a GString (interpolated string) expression containing embedded values.
  LambdaExpression | Represents a lambda expression such as one of these:
       e -> e * 2
       (x, y) -> x + y
       (x, y) -> { x + y
       (int x, int y) -> { x + y }
       }
  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
  MethodCallExpression | Represents a method call on an object or class, including receiver object, method name/expression, and arguments.
  MethodPointerExpression | Represents a method pointer on an object such as {@code foo.
  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 unary expression like `i++` or `value--`.
  PrefixExpression | Represents a prefix unary expression like `++i` or `--value`.
  PropertyExpression | Represents a property access such as the expression "foo.bar".
  RangeExpression | Represents a range expression for creating range objects with bounded endpoints.
  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) ?
  TupleExpression | Represents a tuple or grouped list of expressions, typically used for method arguments, multiple assignment targets, or other contexts requiring multiple values.
  UnaryMinusExpression |
  UnaryPlusExpression |
  VariableExpression | Represents a local variable reference, the simplest form of expression (e.g., "foo").