AST nodes for Groovy expressions
| Modifier and Type | Interface and Description |
|---|---|
| public interface | ExpressionTransformer
Provides a way to transform expressions |
| public interface | MethodCall
Interface defining common methods for method calls. |
| Modifier and Type | Class and Description |
|---|---|
| public class | AnnotationConstantExpression
Represents an annotation "constant" that may appear in annotation attributes (mainly used as a marker). |
| public class | ArgumentListExpression
Represents one or more arguments being passed into a method |
| public class | ArrayExpression
Represents an array object construction. |
| public class | AttributeExpression
Represents an attribute access (accessing the field of a class) such as the expression "foo.@bar". |
| public class | BinaryExpression
Represents two expressions and an operation |
| public class | |
| public class | BooleanExpression
Represents a boolean expression |
| public class | CastExpression
Represents a typecast expression. |
| public class | ClassExpression
Represents access to a Java/Groovy class in an expression, such as when invoking a static method or accessing a static type |
| public class | |
| public class | ClosureListExpression
This class represents a list of expressions used to create closures. |
| public class | ConstantExpression
Represents a constant expression such as null, true, false. |
| public class | ConstructorCallExpression
A constructor call. |
| public class | DeclarationExpression
Represents one or more local variables. |
| public class | ElvisOperatorExpression
Represents a short ternary expression x ?: y, which is equal to def truePart = x def booleanPart = truePart as boolean booleanPart? |
| public class | EmptyExpression
Placeholder for an empty expression. |
| public abstract class | Expression
Represents a base class for expressions which evaluate as an object |
| public class | FieldExpression
Represents a field access such as the expression "this.foo". |
| public class | GStringExpression
Represents a String expression which contains embedded values inside it such as "hello there ${user} how are you" which is expanded lazily |
| public class | LambdaExpression
Represents a lambda expression such as one of these:
|
| public class | ListExpression
Represents a list expression [1, 2, 3] which creates a mutable List |
| public class | MapEntryExpression
Represents an entry inside a map expression such as 1 : 2. |
| public class | MapExpression
Represents a map expression [1 : 2, "a" : "b", x : y] which creates a mutable Map |
| public class | MethodCallExpression
A method call on an object or class. |
| public class | MethodPointerExpression
Represents a method pointer on an object such as
|
| public class | MethodReferenceExpression
Represents a method reference or a constructor reference, e.g. System.out::println OR Objects::requireNonNull OR Integer::new OR int[]::new |
| public class | NamedArgumentListExpression
Represents one or more arguments being passed into a method by name |
| public class | |
| public class | PostfixExpression
Represents a postfix expression like foo++ or bar++ |
| public class | PrefixExpression
Represents a prefix expression like ++foo or --bar |
| public class | PropertyExpression
Represents a property access such as the expression "foo.bar". |
| public class | RangeExpression
Represents a range expression such as for iterating. |
| public class | SpreadExpression
Represents a spread expression *x in the list expression [1, *x, 2]. |
| public class | 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). |
| public class | StaticMethodCallExpression
A static method call on a class |
| public class | TernaryExpression
Represents a ternary expression (booleanExpression) ? |
| public class | |
| public class | |
| public class | |
| public class | VariableExpression
Represents a local variable name, the simplest form of expression. |