org.codehaus.groovy.ast.expr
[Java] 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 
 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 
 
 
- Authors:
 - Jochen Theodorou
 
- Since:
 - 1.5
 
    
     
    
     
                 
                 
                 
                | 
                Methods inherited from class ASTNode
                 | 
                | copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit | 
                
                 
                 
    
    
        
        ElvisOperatorExpression
        public ElvisOperatorExpression(Expression base, Expression falseExpression)
        
        - 
        
 
        
        
        
    
     
    
    
        
        transformExpression
        public Expression transformExpression(ExpressionTransformer transformer)
        
        - 
        
 
        
        
        
    
        
        visit
        public void visit(GroovyCodeVisitor visitor)
        
        - 
        
 
        
        
        
    
     
Copyright © 2003-2011 The Codehaus. All rights reserved.