Uses of Class
edu.mit.csail.sdg.alloy4compiler.ast.Type

Packages that use Type
edu.mit.csail.sdg.alloy4compiler.ast This package contains the definition of AST nodes. 
edu.mit.csail.sdg.alloy4compiler.translator This package contains the translator from Alloy4 to CNF (using kodkod). 
 

Uses of Type in edu.mit.csail.sdg.alloy4compiler.ast
 

Fields in edu.mit.csail.sdg.alloy4compiler.ast declared as Type
static Type Type.EMPTY
          Constant value with is_int==false, is_bool==false, and entries.size()==0.
static Type Type.FORMULA
          Constant value with is_int==false, is_bool==true, and entries.size()==0.
static Type Type.INTANDFORMULA
          Constant value with is_int==true, is_bool==true, and entries.size()==0.
 

Methods in edu.mit.csail.sdg.alloy4compiler.ast that return Type
 Type Type.closure()
          Returns a new type u + u.u + u.u.u + ...
 Type Type.domainRestrict(Type that)
          Returns a new type { R[0]->..->R[n-1] | exists n-ary A in this, exists unary B in that, such that R[i]==A[i] except R[0]==(A[0] & B)
 Type Type.extract(int arity)
          Returns a new type { A | (A in this) and (A.arity == arity) }
 Type Type.intersect(Type.ProductType that)
          Returns a new type { A&that | A is in this }
 Type Type.intersect(Type that)
          Returns a new type { A&B | A is in this, and B is in that }
 Type Type.join(Type that)
          Returns a new type { A.B | exists A in this, exists B in that, where A.arity+B.arity>2 }
 Type Type.merge(java.util.List<Sig.PrimSig> that)
          Returns a new type { A | A is in this, or A == that }
 Type Type.merge(Type.ProductType that)
          Returns a new type { A | A is in this, or A == that }
 Type Type.merge(Type.ProductType that, int begin, int end)
          Returns a new type { A | A is in this, or A == that.subList(begin,end) }
 Type Type.merge(Type that)
          Returns a new type { A | A is in this, or A is in that }
 Type Type.pickBinary()
          Returns a new type { A in this | A.artiy==2 }
 Type Type.pickCommonArity(Type that)
          Returns a new type { A | (A is in this && A.arity in that) }
 Type Type.pickUnary()
          Returns a new type { A in this | A.artiy==1 }
 Type Type.product(Type that)
          Returns a new type { A->B | A is in this, and B is in that }
 Type Type.rangeRestrict(Type that)
          Returns a new type { R[0]->..->R[n-1] | exists n-ary A in this, exists unary B in that, such that R[i]==A[i] except R[n-1]==(A[n-1] & B)
static Type Type.removesBoolAndInt(Type old)
          Create a new type that is the same as "old", except the "is_bool" and "is_int" flags are both set to false.
static Type Type.smallIntType()
           
 Type Type.transpose()
          Returns a new type { A | A is binary and ~A is in this }
 Type Expr.type()
          Return the type for this node; EMPTY if it is not well-typed.
 Type Type.unionWithCommonArity(Type that)
          Returns a new type { A | (A is in this && A.arity in that) or (A is in that && A.arity in this) }
 

Methods in edu.mit.csail.sdg.alloy4compiler.ast with parameters of type Type
 boolean Type.canOverride(Type that)
          Returns true if exists some A in this, some B in that, where (A.arity==B.arity, and A[0]&B[0]!=empty)
 Type Type.domainRestrict(Type that)
          Returns a new type { R[0]->..->R[n-1] | exists n-ary A in this, exists unary B in that, such that R[i]==A[i] except R[0]==(A[0] & B)
 boolean Type.firstColumnOverlaps(Type that)
          Returns true if exists some A in this, some B in that, where (A[0]&B[0]!=empty)
 boolean Type.hasCommonArity(Type that)
          Returns true iff exists some A in this, some B in that, where A.arity==B.arity
 Type Type.intersect(Type that)
          Returns a new type { A&B | A is in this, and B is in that }
 boolean Type.intersects(Type that)
          Returns true iff { A&B | A is in this, and B is in that } can have tuples.
 boolean Type.isSubtypeOf(Type that)
          Returns true if for all A in this, there exists B in that, where A is equal or subset of B.
 Type Type.join(Type that)
          Returns a new type { A.B | exists A in this, exists B in that, where A.arity+B.arity>2 }
static ExprVar ExprVar.make(Pos pos, java.lang.String label, Type type)
          Constructs an ExprVar variable with the given type
 Type Type.merge(Type that)
          Returns a new type { A | A is in this, or A is in that }
 Type Type.pickCommonArity(Type that)
          Returns a new type { A | (A is in this && A.arity in that) }
 Type Type.product(Type that)
          Returns a new type { A->B | A is in this, and B is in that }
 Type Type.rangeRestrict(Type that)
          Returns a new type { R[0]->..->R[n-1] | exists n-ary A in this, exists unary B in that, such that R[i]==A[i] except R[n-1]==(A[n-1] & B)
static Type Type.removesBoolAndInt(Type old)
          Create a new type that is the same as "old", except the "is_bool" and "is_int" flags are both set to false.
 Expr Sig.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr Sig.Field.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprBadJoin.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprQt.resolve(Type unused, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprUnary.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprCustom.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprVar.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprBadCall.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprConstant.resolve(Type type, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprLet.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprITE.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprBad.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
abstract  Expr Expr.resolve(Type t, java.util.Collection<ErrorWarning> warnings)
          Resolves this expression if ambiguous.
 Expr ExprBinary.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprChoice.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprList.resolve(Type p, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Expr ExprCall.resolve(Type t, java.util.Collection<ErrorWarning> warns)
          Resolves this expression if ambiguous.
 Type Type.unionWithCommonArity(Type that)
          Returns a new type { A | (A is in this && A.arity in that) or (A is in that && A.arity in this) }
 

Uses of Type in edu.mit.csail.sdg.alloy4compiler.translator
 

Methods in edu.mit.csail.sdg.alloy4compiler.translator that return Type
 Type A4Tuple.type()
          Returns the type constructed by taking the product for each sig in this tuple.