Class ExpressionNode
java.lang.Object
io.micronaut.expressions.parser.ast.ExpressionNode
- Direct Known Subclasses:
AbstractMethodCall, BeanContextAccess, BinaryOperator, BoolLiteral, ComparablesComparisonOperation, ContextElementAccess, DoubleLiteral, EnvironmentAccess, FloatLiteral, InstanceofOperator, IntLiteral, LongLiteral, MatchesOperator, NullLiteral, NumericComparisonOperation, OneDimensionalArray, RelationalOperator, StringLiteral, SubscriptOperator, TernaryExpression, ThisAccess, TypeIdentifier, UnaryOperator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected @Nullable ClassElementprotected @Nullable io.micronaut.sourcegen.model.TypeDef -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal io.micronaut.sourcegen.model.ExpressionDefCompiles this expression AST node against passes compilation context.protected ClassElementResolves the class element for this node.protected ClassElementResolves the class element for this node.protected io.micronaut.sourcegen.model.TypeDefResolves expression AST node type.protected abstract io.micronaut.sourcegen.model.ExpressionDefGenerates bytecode for this AST node.final ClassElementOn resolution stage type information is collected and node validity is checked.final ClassElementOn resolution stage type information is collected and node validity is checked.final io.micronaut.sourcegen.model.TypeDefOn resolution stage type information is collected and node validity is checked.final io.micronaut.sourcegen.model.TypeDefOn resolution stage type information is collected and node validity is checked.
-
Field Details
-
nodeType
protected @Nullable io.micronaut.sourcegen.model.TypeDef nodeType -
classElement
-
-
Constructor Details
-
ExpressionNode
public ExpressionNode()
-
-
Method Details
-
compile
Compiles this expression AST node against passes compilation context. Node compilation includes type resolution and bytecode generation.- Parameters:
ctx- expression compilation context- Returns:
- The expression definition
-
generateExpression
protected abstract io.micronaut.sourcegen.model.ExpressionDef generateExpression(ExpressionCompilationContext ctx) Generates bytecode for this AST node.- Parameters:
ctx- expression compilation context- Returns:
- The expression definition
-
resolveType
On resolution stage type information is collected and node validity is checked. Once type is resolved, type resolution result is cached.- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-
resolveType
On resolution stage type information is collected and node validity is checked. Once type is resolved, type resolution result is cached.- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-
resolveClassElement
On resolution stage type information is collected and node validity is checked. Once type is resolved, type resolution result is cached.- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-
resolveClassElement
On resolution stage type information is collected and node validity is checked. Once type is resolved, type resolution result is cached.- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-
doResolveClassElement
Resolves the class element for this node.- Parameters:
ctx- The expression compilation context- Returns:
- The resolved type
-
doResolveClassElement
Resolves the class element for this node.- Parameters:
ctx- The expression compilation context- Returns:
- The resolved type
-
doResolveType
Resolves expression AST node type.- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-