# 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
  DSL builders for programmatic AST construction.
  org.codehaus.groovy.ast.decompiled
  Tools for converting decompiled Java bytecode back into AST representation.
  org.codehaus.groovy.ast.query
  A small, read-only fluent query API over the Groovy AST, intended as a declarative alternative to hand-written `ClassCodeVisitorSupport` subclasses for the common "find / collect / detect" cases that arise in AST transformations and compiler checks.
  org.codehaus.groovy.ast.stmt
  AST nodes for Groovy statements
  org.codehaus.groovy.ast.tools
  AST manipulation and analysis utilities.
- 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.@bar".
  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 ?: y, which is equal to
  EmptyExpression
  Placeholder for an empty expression.
  Expression
  Base class for all expression nodes in the Groovy AST.
  ExpressionTransformer
  Functional interface for transforming `Expression` nodes during AST traversal and manipulation.
  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:
  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
  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 `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 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
  SwitchExpression
  Represents a `switch` used as an expression, as specified by JEP 361 (Switch Expressions).
  TernaryExpression
  Represents a ternary expression (booleanExpression) ? expression : expression
  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").