Package org.codehaus.groovy.ast.expr
Class ElvisOperatorExpression
- java.lang.Object
- 
- org.codehaus.groovy.ast.ASTNode
- 
- org.codehaus.groovy.ast.AnnotatedNode
- 
- org.codehaus.groovy.ast.expr.Expression
- 
- org.codehaus.groovy.ast.expr.TernaryExpression
- 
- org.codehaus.groovy.ast.expr.ElvisOperatorExpression
 
 
 
 
 
- 
 public class ElvisOperatorExpression extends TernaryExpression Represents a short ternary expression x ?: y, which is equal todef truePart = x def booleanPart = truePart as boolean booleanPart? truePart : y Even 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- Since:
- 1.5
 
- 
- 
Constructor SummaryConstructors Constructor Description ElvisOperatorExpression(Expression base, Expression falseExpression)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description ExpressiontransformExpression(ExpressionTransformer transformer)Return a copy of the expression calling the transformer on any nested expressionsvoidvisit(GroovyCodeVisitor visitor)- 
Methods inherited from class org.codehaus.groovy.ast.expr.TernaryExpressiongetBooleanExpression, getFalseExpression, getText, getTrueExpression, getType, toString
 - 
Methods inherited from class org.codehaus.groovy.ast.expr.ExpressionsetType, transformExpressions, transformExpressions
 - 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNodeaddAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
 - 
Methods inherited from class org.codehaus.groovy.ast.ASTNodecopyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition
 
- 
 
- 
- 
- 
Constructor Detail- 
ElvisOperatorExpressionpublic ElvisOperatorExpression(Expression base, Expression falseExpression) 
 
- 
 - 
Method Detail- 
visitpublic void visit(GroovyCodeVisitor visitor) - Overrides:
- visitin class- TernaryExpression
 
 - 
transformExpressionpublic Expression transformExpression(ExpressionTransformer transformer) Description copied from class:ExpressionReturn a copy of the expression calling the transformer on any nested expressions- Overrides:
- transformExpressionin class- TernaryExpression
 
 
- 
 
-