Class AbstractMethodCall
java.lang.Object
io.micronaut.expressions.parser.ast.ExpressionNode
io.micronaut.expressions.parser.ast.access.AbstractMethodCall
- Direct Known Subclasses:
ContextMethodCall
,ElementMethodCall
@Internal
public abstract sealed class AbstractMethodCall
extends ExpressionNode
permits ContextMethodCall, ElementMethodCall
Abstract expression AST node for method calls.
- Since:
- 4.0.0
- Author:
- Sergey Gavrilov
-
Field Summary
Modifier and TypeFieldDescriptionprotected final List<ExpressionNode>
protected final String
protected io.micronaut.expressions.parser.ast.access.CandidateMethod
Fields inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
classElement, nodeType
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected List<io.micronaut.sourcegen.model.ExpressionDef>
Compiles method arguments.protected ClassElement
Resolves the class element for this node.protected io.micronaut.sourcegen.model.TypeDef
Resolves expression AST node type.protected List<ExpressionNode>
This method wraps original method arguments into array for methods using varargs.protected List<io.micronaut.sourcegen.model.TypeDef>
Resolve types of method invocation arguments.protected String
Prepares arguments string for logging purposes.Methods inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
compile, doResolveClassElement, generateExpression, resolveClassElement, resolveClassElement, resolveType, resolveType
-
Field Details
-
name
-
arguments
-
usedMethod
protected io.micronaut.expressions.parser.ast.access.CandidateMethod usedMethod
-
-
Constructor Details
-
AbstractMethodCall
-
-
Method Details
-
doResolveType
protected io.micronaut.sourcegen.model.TypeDef doResolveType(@NonNull @NonNull ExpressionVisitorContext ctx) Description copied from class:ExpressionNode
Resolves expression AST node type.- Overrides:
doResolveType
in classExpressionNode
- Parameters:
ctx
- expression compilation context- Returns:
- resolved type
-
doResolveClassElement
Description copied from class:ExpressionNode
Resolves the class element for this node.- Overrides:
doResolveClassElement
in classExpressionNode
- Parameters:
ctx
- The expression compilation context- Returns:
- The resolved type
-
prepareVarargsArguments
This method wraps original method arguments into array for methods using varargs.- Returns:
- list of arguments, including varargs arguments wrapped in array
-
resolveArgumentTypes
protected List<io.micronaut.sourcegen.model.TypeDef> resolveArgumentTypes(ExpressionVisitorContext ctx) Resolve types of method invocation arguments.- Parameters:
ctx
- expression evaluation context- Returns:
- types of method arguments
-
compileArguments
protected List<io.micronaut.sourcegen.model.ExpressionDef> compileArguments(ExpressionCompilationContext ctx) Compiles method arguments.- Parameters:
ctx
- expression evaluation context- Returns:
- expressions
-
stringifyArguments
Prepares arguments string for logging purposes.- Parameters:
ctx
- expression compilation context- Returns:
- arguments string
-