org.codehaus.groovy.ast.expr

## Class BinaryExpression

- java.lang.Object
- - org.codehaus.groovy.ast.ASTNode
  - - org.codehaus.groovy.ast.AnnotatedNode
    - - org.codehaus.groovy.ast.expr.Expression
      - - org.codehaus.groovy.ast.expr.BinaryExpression

Direct Known Subclasses:
  DeclarationExpression

    public class BinaryExpression
    extends Expression

Represents two expressions and an operation

Version:
  $Revision: 20591 $
Author:
  James Strachan

### Constructor Summary

Constructors
Constructor and Description
`BinaryExpression(Expression leftExpression, Token operation, Expression rightExpression)`

### Method Summary

Methods
`Expression` `getLeftExpression()`
`Token` `getOperation()`
`Expression` `getRightExpression()`
`String` `getText()`
`static BinaryExpression` `newAssignmentExpression(Variable variable, Expression rhs)` Creates an assignment expression in which the specified expression is written into the specified variable name.
`static BinaryExpression` `newInitializationExpression(String variable, ClassNode type, Expression rhs)` Creates variable initialization expression in which the specified expression is written into the specified variable name.
`void` `setLeftExpression(Expression leftExpression)`
`void` `setRightExpression(Expression rightExpression)`
`String` `toString()`
`Expression` `transformExpression(ExpressionTransformer transformer)` Return a copy of the expression calling the transformer on any nested expressions
`void` `visit(GroovyCodeVisitor visitor)`

### Methods inherited from class org.codehaus.groovy.ast.expr.Expression

`getType, setType, transformExpressions, transformExpressions`

### Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode

`addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

### Methods inherited from class org.codehaus.groovy.ast.ASTNode

`copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### BinaryExpression

    public BinaryExpression(Expression leftExpression,
                    Token operation,
                    Expression rightExpression)

### Method Detail

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### visit

    public void visit(GroovyCodeVisitor visitor)

Overrides:
  `visit` in class `ASTNode`

#### transformExpression

    public Expression transformExpression(ExpressionTransformer transformer)

Description copied from class: `Expression`
Return a copy of the expression calling the transformer on any nested expressions

Specified by:
  `transformExpression` in class `Expression`

#### getLeftExpression

    public Expression getLeftExpression()

#### setLeftExpression

    public void setLeftExpression(Expression leftExpression)

#### setRightExpression

    public void setRightExpression(Expression rightExpression)

#### getOperation

    public Token getOperation()

#### getRightExpression

    public Expression getRightExpression()

#### getText

    public String getText()

Overrides:
  `getText` in class `ASTNode`

#### newAssignmentExpression

    public static BinaryExpression newAssignmentExpression(Variable variable,
                                           Expression rhs)

Creates an assignment expression in which the specified expression is written into the specified variable name.

#### newInitializationExpression

    public static BinaryExpression newInitializationExpression(String variable,
                                               ClassNode type,
                                               Expression rhs)

Creates variable initialization expression in which the specified expression is written into the specified variable name.