Top Description Constructors Methods
org.codehaus.groovy.ast.expr

public Class ElvisOperatorExpression

extends TernaryExpression
Class Inheritance
Imports
org.codehaus.groovy.ast.GroovyCodeVisitor

Represents a short ternary expression x ?: y, which is equal to
def 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 Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static BooleanExpression
public Expression
transformExpression(ExpressionTransformer transformer)

Overrides org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression.

Return a copy of the expression calling the transformer on any nested expressions
public void
Inherited from org.codehaus.groovy.ast.expr.TernaryExpression:
getBooleanExpressiongetFalseExpressiongetTextgetTrueExpressiongetTypetoString

Constructor Detail

ElvisOperatorExpressionback to summary
public ElvisOperatorExpression(Expression base, Expression falseExpression)

Method Detail

getBoolback to summary
private static BooleanExpression getBool(Expression base)
transformExpressionback to summary
public Expression transformExpression(ExpressionTransformer transformer)

Overrides org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression.

Doc from org.codehaus.groovy.ast.expr.Expression.transformExpression.

Return a copy of the expression calling the transformer on any nested expressions

visitback to summary
public void visit(GroovyCodeVisitor visitor)

Overrides org.codehaus.groovy.ast.expr.TernaryExpression.visit.