org.codehaus.groovy.ast.expr

Class DeclarationExpression

    • 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 declaration
        operation - the operation, typically an assignment operator
        right - 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 operator
        right - the right hand side of a declaration
    • Method Detail

      • 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.
        Returns:
        left hand side of normal variable declarations
        Throws:
        ClassCastException - if the left hand side is not a VariableExpression (and is probably a multiple assignment statement).
      • 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.
        Returns:
        left hand side of multiple assignment declarations
        Throws:
        ClassCastException - if the left hand side is not a TupleExpression (and is probably a VariableExpression).
      • 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.
        Overrides:
        setLeftExpression in class BinaryExpression
        Parameters:
        leftExpression - either a VariableExpression or a TupleExpression with one or more elements.
      • 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.
Copyright © 2003-2011 The Codehaus. All rights reserved.