• org.codehaus.groovy.ast.expr.ElvisOperatorExpression
publicclassElvisOperatorExpressionextendsTernaryExpression

Rappresenta un'espressione ternaria breve x ?: y, che è uguale a

def truePart = x
 def booleanPart = truePart asboolean
 booleanPart? truePart : y
 

Anche se x non è un'espressione atomica, x sarà valutata una sola volta. Esempio:

classFoo{def index=0defgetX(){ index++;return index }}def foo =newFoo()def result = foo.x ?:"false case"assert foo.index ==1assert result ==1
Dal momento che:
1.5
Campi ereditati
Campi ereditati dalla classe Campi
class Expression EMPTY_ARRAY

Riepilogo del costruttore

Costruttori
Costruttore e descrizione
ElvisOperatorExpression
(Expression base, Expression falseExpression)

Riepilogo dei metodi

Metodi
Tipo Params Tipo di ritorno Nome e descrizione
public Expression transformExpression(ExpressionTransformer transformer)
public void visit(GroovyCodeVisitor visitor)

Riepilogo dei metodi ereditati

Metodi ereditati
Metodi ereditati dalla classe Nome
class TernaryExpression getBooleanExpression, getFalseExpression, getText, getTrueExpression, getType, toString, transformExpression, visit
class Expression getType, setType, transformExpression, transformExpressions, transformExpressions
class AnnotatedNode addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
class ASTNode copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit

Dettaglio del costruttore

pubblico ElvisOperatorExpression(Espressione base, Espressione falsaEspressione)

Dettaglio del metodo

pubblico Espressione trasformareEspressione(trasformatore ExpressionTransformer)

pubblico void visita(visitatore GroovyCodeVisitor)