[Java] Class ElvisOperatorExpression
- org.codehaus.groovy.ast.expr.ElvisOperatorExpression
 
public class ElvisOperatorExpression extends TernaryExpression
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 
  - Since:
 - 1.5
 
| Fields inherited from class | Fields | 
|---|---|
class Expression |  EMPTY_ARRAY |  
Constructor Summary
| Constructor and description | 
|---|
 ElvisOperatorExpression
                                (Expression base, Expression falseExpression) |  
Methods Summary
| Type Params | Return Type | Name and description | 
|---|---|---|
public Expression |  
transformExpression(ExpressionTransformer transformer) |  |
public 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, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic |  
class ASTNode |  copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit |  
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/3.0.7/html/gapi/org/codehaus/groovy/ast/expr/ElvisOperatorExpression.html