public CatTypeVector CatTypeVectorFromVec(Vector vec) { CatTypeVector ret = new CatTypeVector(); foreach (Constraint c in vec) { ret.PushKindBottom(ConstraintToCatKind(c)); } return(ret); }
public virtual CatFxnType AddImplicitRhoVariables() { CatTypeVector cons = AddImplicitRhoVariables(GetCons()); CatTypeVector prod = AddImplicitRhoVariables(GetProd()); if (!(cons.GetBottom() is CatStackVar)) { CatStackVar rho = CatStackVar.CreateUnique(); cons.PushKindBottom(rho); prod.PushKindBottom(rho); } return(new CatFxnType(cons, prod, HasSideEffects())); }