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 ClassElementResolves the class element for this node.io.micronaut.sourcegen.model.TypeDefResolves expression AST node type.protected io.micronaut.sourcegen.model.ExpressionDefGenerates 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:ExpressionNodeGenerates bytecode for this AST node.- Specified by:
generateExpressionin classExpressionNode- Parameters:
ctx- expression compilation context- Returns:
- The expression definition
-
doResolveClassElement
Description copied from class:ExpressionNodeResolves the class element for this node.- Overrides:
doResolveClassElementin 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:ExpressionNodeResolves expression AST node type.- Overrides:
doResolveTypein classExpressionNode- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-