|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
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. |
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |