public class ElvisOperatorExpression extends TernaryExpression
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 
 | Constructor and Description | 
|---|
| ElvisOperatorExpression(Expression base,
                       Expression falseExpression) | 
| Modifier and Type | Method and Description | 
|---|---|
| Expression | transformExpression(ExpressionTransformer transformer)Return a copy of the expression calling the transformer on any nested expressions | 
| void | visit(GroovyCodeVisitor visitor) | 
getBooleanExpression, getFalseExpression, getText, getTrueExpression, getType, toStringsetType, transformExpressions, transformExpressionsaddAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSyntheticcopyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePositionpublic ElvisOperatorExpression(Expression base, Expression falseExpression)
public void visit(GroovyCodeVisitor visitor)
visit in class TernaryExpressionpublic Expression transformExpression(ExpressionTransformer transformer)
ExpressiontransformExpression in class TernaryExpression