Class TernaryExpression
java.lang.Object
io.micronaut.expressions.parser.ast.ExpressionNode
io.micronaut.expressions.parser.ast.conditional.TernaryExpression
- Direct Known Subclasses:
ElvisOperator
Expression AST node for ternary expressions.
- Since:
- 4.0.0
- Author:
- Sergey Gavrilov
-
Field Summary
Fields inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
classElement, nodeType
-
Constructor Summary
ConstructorDescriptionTernaryExpression
(ExpressionNode condition, ExpressionNode trueExpr, ExpressionNode falseExpr) -
Method Summary
Modifier and TypeMethodDescriptionprotected ClassElement
Resolves the class element for this node.protected org.objectweb.asm.Type
Resolves expression AST node type.void
Generates bytecode for this AST node.protected boolean
Methods inherited from class io.micronaut.expressions.parser.ast.ExpressionNode
compile, doResolveClassElement, resolveClassElement, resolveClassElement, resolveType, resolveType
-
Constructor Details
-
TernaryExpression
public TernaryExpression(ExpressionNode condition, ExpressionNode trueExpr, ExpressionNode falseExpr)
-
-
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
-
shouldCoerceConditionToBoolean
protected boolean shouldCoerceConditionToBoolean()- Returns:
- Whether the condition should be coerced to a boolean 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
-