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
-
Method Summary
Modifier and TypeMethodDescriptionprotected ClassElement
Resolves the class element for this node.org.objectweb.asm.Type
Resolves expression AST node type.protected void
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
-
generateBytecode
Description copied from class:ExpressionNode
Generates bytecode for this AST node.- Specified by:
generateBytecode
in classExpressionNode
- Parameters:
ctx
- expression compilation context
-
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
Description copied from class:ExpressionNode
Resolves expression AST node type.- Specified by:
doResolveType
in classExpressionNode
- Parameters:
ctx
- expression compilation context- Returns:
- resolved type
-