kodkod.ast
Class BinaryIntExpression

java.lang.Object
  extended by kodkod.ast.IntExpression
      extended by kodkod.ast.BinaryIntExpression
All Implemented Interfaces:
Node

public final class BinaryIntExpression
extends IntExpression

A binary integer expression, e.g. x + y.

Author:
Emina Torlak
invariant:
children = left + right
specfield:
left: IntExpression
right: IntExpression
op: Operator

Nested Class Summary
static class BinaryIntExpression.Operator
          Binary operators on integer expressions.
 
Constructor Summary
BinaryIntExpression(IntExpression left, BinaryIntExpression.Operator op, IntExpression right)
          Constructs a new binary int formula: left op right
 
Method Summary
<E,F,D,I> I
accept(ReturnVisitor<E,F,D,I> visitor)
          Accepts the given visitor and returns the result of the visit (i.e. the result of the call visitor.visit(this))
 void accept(VoidVisitor visitor)
          Accepts the given void visitor by calling visitor.visit(this).
 IntExpression left()
          Returns the left child of this.
 BinaryIntExpression.Operator op()
          Returns the operator of this.
 IntExpression right()
          Returns the right child of this.
 java.lang.String toString()
          Returns the string representation of this int expression.
 
Methods inherited from class kodkod.ast.IntExpression
abs, and, apply, compare, compose, divide, eq, gt, gte, lt, lte, minus, modulo, multiply, negate, not, or, plus, sha, shl, shr, signum, sum, toExpression, xor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BinaryIntExpression

public BinaryIntExpression(IntExpression left,
                           BinaryIntExpression.Operator op,
                           IntExpression right)
Constructs a new binary int formula: left op right

Throws:
java.lang.NullPointerException - - left = null || right = null || op = null
effects:
this.left' = left && this.right' = right && this.op' = op
Method Detail

left

public IntExpression left()
Returns the left child of this.

Returns:
this.left

right

public IntExpression right()
Returns the right child of this.

Returns:
this.right

op

public BinaryIntExpression.Operator op()
Returns the operator of this.

Returns:
this.op

toString

public java.lang.String toString()
Returns the string representation of this int expression.

Overrides:
toString in class java.lang.Object
Returns:
string representation of this int expression

accept

public <E,F,D,I> I accept(ReturnVisitor<E,F,D,I> visitor)
Accepts the given visitor and returns the result of the visit (i.e. the result of the call visitor.visit(this))

Specified by:
accept in interface Node
Specified by:
accept in class IntExpression
Returns:
the result of being visited by the given visitor
See Also:
IntExpression.accept(kodkod.ast.visitor.ReturnVisitor)

accept

public void accept(VoidVisitor visitor)
Accepts the given void visitor by calling visitor.visit(this).

Specified by:
accept in interface Node
Specified by:
accept in class IntExpression
See Also:
IntExpression.accept(kodkod.ast.visitor.VoidVisitor)