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
ConstructorsConstructorDescriptionTernaryExpression(ExpressionNode condition, ExpressionNode trueExpr, ExpressionNode falseExpr) -
Method Summary
Modifier and TypeMethodDescriptionprotected ClassElementResolves the class element for this node.protected org.objectweb.asm.TypeResolves expression AST node type.voidGenerates bytecode for this AST node.protected booleanMethods 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: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
-
shouldCoerceConditionToBoolean
protected boolean shouldCoerceConditionToBoolean()- Returns:
- Whether the condition should be coerced to a boolean type.
-
doResolveType
Description copied from class:ExpressionNodeResolves expression AST node type.- Specified by:
doResolveTypein classExpressionNode- Parameters:
ctx- expression compilation context- Returns:
- resolved type
-