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.org.objectweb.asm.TypeResolves expression AST node type.protected voidGenerates 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:ExpressionNodeGenerates bytecode for this AST node.- Specified by:
generateBytecodein classExpressionNode- Parameters:
ctx- expression compilation context
-
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
Description copied from class:ExpressionNodeResolves expression AST node type.- Specified by:
doResolveTypein classExpressionNode- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-