[Java] Class ElvisOperatorExpression
- org.codehaus.groovy.ast.expr.ElvisOperatorExpression
Represents a short ternary expression x ?: y, which is equal to
def truePart = x def booleanPart = truePart as boolean booleanPart? truePart : yEven if x is no atomic expression, x will be evaluated only once. Example:
class Foo { def index=0 def getX(){ index++; return index } } def foo = new Foo() def result = foo.x ?: "false case" assert foo.index == 1 assert result == 1
- Authors:
- Jochen Theodorou
- Since:
- 1.5
Constructor Summary
Constructor and description |
---|
ElvisOperatorExpression
(Expression base, Expression falseExpression) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
Expression |
transformExpression(ExpressionTransformer transformer) | |
void |
visit(GroovyCodeVisitor visitor) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class TernaryExpression | getBooleanExpression, getFalseExpression, getText, getTrueExpression, getType, toString, transformExpression, visit |
class Expression | getType, setType, transformExpression, transformExpressions, transformExpressions |
class AnnotatedNode | addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic |
class ASTNode | copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public ElvisOperatorExpression(Expression base, Expression falseExpression)
Method Detail
public Expression transformExpression(ExpressionTransformer transformer)
public void visit(GroovyCodeVisitor visitor)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/ast/expr/ElvisOperatorExpression.html