Class ContextElementAccess
java.lang.Object
io.micronaut.expressions.parser.ast.ExpressionNode
io.micronaut.expressions.parser.ast.access.ContextElementAccess
Expression AST node used for context element access.
Either evaluation context method element, property element or method argument can
be accessed. When method is accessed it is clear at AST building stage,
but whether property or method argument is accessed is unclear until type resolution against
evaluation context is executed. This node checks evaluation context to resolve
concrete node type, instantiates respective node and delegates type resolution
and bytecode generation to this node
- Since:
- 4.0.0
- Author:
- Sergey Gavrilov
-
Field Summary
Fields inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
classElement, nodeType
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ClassElement
Resolves the class element for this node.io.micronaut.sourcegen.model.TypeDef
Resolves expression AST node type.protected io.micronaut.sourcegen.model.ExpressionDef
Generates bytecode for this AST node.Methods inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
compile, doResolveClassElement, resolveClassElement, resolveClassElement, resolveType, resolveType
-
Constructor Details
-
ContextElementAccess
-
-
Method Details
-
generateExpression
protected io.micronaut.sourcegen.model.ExpressionDef generateExpression(ExpressionCompilationContext ctx) Description copied from class:ExpressionNode
Generates bytecode for this AST node.- Specified by:
generateExpression
in classExpressionNode
- Parameters:
ctx
- expression compilation context- Returns:
- The expression definition
-
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
-
doResolveType
public 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
-