kodkod.ast
Class Comprehension

java.lang.Object
  extended by kodkod.ast.Expression
      extended by kodkod.ast.Comprehension
All Implemented Interfaces:
Node

public final class Comprehension
extends Expression

A comprehension expression, e.g. { a: A, b: B | a.r = b }

Author:
Emina Torlak
invariant:
arity = sum(declarations.declarations().arity)
children = declarations + formula
specfield:
declarations: Declarations
formula: Formula

Field Summary
 
Fields inherited from class kodkod.ast.Expression
IDEN, INTS, NONE, UNIV
 
Method Summary
<E,F,D,I> E
accept(ReturnVisitor<E,F,D,I> visitor)
          Accepts the given visitor and returns the result.
 void accept(VoidVisitor visitor)
          Accepts the given visitor.
 int arity()
          Returns the arity of this comprehension expression, which is the sum of the arities of declared variables
 Decls declarations()
           
 Formula formula()
           
 java.lang.String toString()
          Returns the string representation of this expression.
 
Methods inherited from class kodkod.ast.Expression
apply, apply, apply, closure, compose, compose, count, difference, eq, in, intersection, join, lone, no, one, override, product, project, reflexiveClosure, some, sum, transpose, union
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

formula

public Formula formula()
Returns:
this.formula

declarations

public Decls declarations()
Returns:
this.declarations

arity

public int arity()
Returns the arity of this comprehension expression, which is the sum of the arities of declared variables

Specified by:
arity in class Expression
Returns:
sum(this.declarations.declarations().arity)

accept

public <E,F,D,I> E accept(ReturnVisitor<E,F,D,I> visitor)
Accepts the given visitor and returns the result.

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

accept

public void accept(VoidVisitor visitor)
Accepts the given visitor.

See Also:
Node.accept(kodkod.ast.visitor.VoidVisitor)

toString

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

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