| 
Groovy 1.8.5 | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.expr.Expression
org.codehaus.groovy.ast.expr.BinaryExpression
org.codehaus.groovy.ast.expr.DeclarationExpression
public class DeclarationExpression extends BinaryExpression
 Represents one or more local variables. Typically it is a single local variable
 declared by name with an expression like "def foo" or with type "String foo". However, 
 the multiple assignment feature allows you to create two or more variables using
 an expression like: def (x, y) = [1, 2].
 
Expression getLeftExpression()" method. In which case you might then
 use instanceof and casting to perform operations specific to a
 single local variable (VariableExpression) or for the multiple
 assignment case (TupleExpression).
 
 Alternatively, if isMultipleAssignmentDeclaration() is false
 you can use the method "VariableExpression getVariableExpression()" method.
 Similarly, if isMultipleAssignmentDeclaration() is true
 you can use the method "TupleExpression getTupleExpression()" method.
 Calling either of these expression getters when the "isMultipleAssignment" condition
 is not appropriate is unsafe and will result in a ClassCastException.
 - Authors:
 - Jochen Theodorou
 - Hamlet D'Arcy
 
- Version:
 - \$Revision\$
 
    
    
    
    Constructor Summary 
     
    
        
        
            DeclarationExpression(VariableExpression left, Token operation, Expression right)
            
            Creates a DeclarationExpression for VariableExpressions like "def x" or "String y = 'foo'".
         
         
    
        
        
            DeclarationExpression(Expression left, Token operation, Expression right)
            
            Creates a DeclarationExpression for Expressions like "def (x, y) = [1, 2]"
         
         
    
    
     
    
    
    
    Method Summary 
     
    
        
        
            TupleExpression
         
        
            getTupleExpression()
            
            This method returns the left hand side of the declaration cast to the TupleExpression type.
 
         
         
    
        
        
            VariableExpression
         
        
            getVariableExpression()
            
            This method returns the left hand side of the declaration cast to the VariableExpression type.
 
         
         
    
        
        
            boolean
         
        
            isMultipleAssignmentDeclaration()
            
            This method tells you if this declaration is a multiple assignment declaration, which 
 has the form "def (x, y) = ..." in Groovy. 
         
         
    
        
        
            void
         
        
            setLeftExpression(Expression leftExpression)
            
            This method sets the leftExpression for this BinaryExpression. 
         
         
    
        
        
            void
         
        
            setRightExpression(Expression rightExpression)
            
            
         
         
    
        
        
            Expression
         
        
            transformExpression(ExpressionTransformer transformer)
            
            
         
         
    
        
        
            void
         
        
            visit(GroovyCodeVisitor visitor)
            
            
         
         
    
    
     
                
                Methods inherited from class BinaryExpression
                  
                getLeftExpression, getOperation, getRightExpression, getText, newAssignmentExpression, newInitializationExpression, setLeftExpression, setRightExpression, toString, transformExpression, visit  
                
                 
                
                Methods inherited from class Expression
                  
                getType, setType, transformExpression, transformExpressions, transformExpressions  
                
                 
                
                Methods inherited from class AnnotatedNode
                  
                addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic  
                
                 
                
                Methods inherited from class Object
                  
                wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll  
                
                 
    
    
    Constructor Detail 
     
    
    
        
        DeclarationExpression
        public DeclarationExpression(VariableExpression left, Token operation, Expression right)
        
        -  Creates a DeclarationExpression for VariableExpressions like "def x" or "String y = 'foo'".
     
- Parameters:
 left
 -       the left hand side of a variable declarationoperation
 -       the operation, typically an assignment operatorright
 -       the right hand side of a declaration
         
        
        
        
    
        
        DeclarationExpression
        public DeclarationExpression(Expression left, Token operation, Expression right)
        
        -  Creates a DeclarationExpression for Expressions like "def (x, y) = [1, 2]"
     
- Parameters:
 left
 -       the left hand side of a declaration. Must be either a VariableExpression or 
      a TupleExpression with at least one element.operation
 -        the operation, typically an assignment operatorright
 -        the right hand side of a declaration
         
        
        
        
    
     
    
    
    
    Method Detail 
     
    
    
        
        getTupleExpression
        public TupleExpression getTupleExpression()
        
        -  This method returns the left hand side of the declaration cast to the TupleExpression type.
 This is an unsafe method to call. In a single assignment statement, the left hand side will
 be a VariableExpression and a ClassCastException will occur. If you invoke this method then
 be sure to invoke isMultipleAssignmentDeclaration() first to check that it is safe to do so. 
 If that method returns true then this method is safe to call.
- throws:
 - ClassCastException 
      if the left hand side is not a TupleExpression (and is probably a VariableExpression).
 
     - Returns:
 - left hand side of multiple assignment declarations
 
         
        
        
        
    
        
        getVariableExpression
        public VariableExpression getVariableExpression()
        
        -  This method returns the left hand side of the declaration cast to the VariableExpression type.
 This is an unsafe method to call. In a multiple assignment statement, the left hand side will
 be a TupleExpression and a ClassCastException will occur. If you invoke this method then
 be sure to invoke isMultipleAssignmentDeclaration() first to check that it is safe to do so. 
 If that method returns true then this method is safe to call.
- throws:
 - ClassCastException 
      if the left hand side is not a VariableExpression (and is probably a multiple assignment statement).
 
     - Returns:
 - left hand side of normal variable declarations
 
         
        
        
        
    
        
        isMultipleAssignmentDeclaration
        public boolean isMultipleAssignmentDeclaration()
        
        -  This method tells you if this declaration is a multiple assignment declaration, which 
 has the form "def (x, y) = ..." in Groovy. If this method returns true, then the left
 hand side is an ArgumentListExpression. Do not call "getVariableExpression()" on this 
 object if this method returns true, instead use "getLeftExpression()". 
     
- Returns:
 - true if this declaration is a multiple assignment declaration, which means the
      left hand side is an ArgumentListExpression.
 
         
        
        
        
    
        
        setLeftExpression
        public void setLeftExpression(Expression leftExpression)
        
        -  This method sets the leftExpression for this BinaryExpression. The parameter must be
 either a VariableExpression or a TupleExpression with one or more elements. 
     
- Parameters:
 leftExpression
 -       either a VariableExpression or a TupleExpression with one or more elements.
         
        
        
        
    
        
        setRightExpression
        public void setRightExpression(Expression rightExpression)
        
        - 
        
 
        
        
        
    
        
        transformExpression
        public Expression transformExpression(ExpressionTransformer transformer)
        
        - 
        
 
        
        
        
    
        
        visit
        public void visit(GroovyCodeVisitor visitor)
        
        - 
        
 
        
        
        
    
     
Copyright © 2003-2011 The Codehaus. All rights reserved.