public QuantifiedType(Polarity polarity, TypeConstraint left, Option <string> identifier, Term right) { Polarity = polarity; Left = left; Identifier = identifier; Right = right; }
public static IEnumerable <Term> Each(this TypeConstraint constraint) { switch (constraint.Tag) { case TypeConstraints.None: var none = (TypeConstraint.None)constraint; yield break; case TypeConstraints.Type: var type = (TypeConstraint.Type)constraint; yield return(type.Content); yield break; case TypeConstraints.Class: var @class = (TypeConstraint.Class)constraint; yield break; default: throw new ArgumentOutOfRangeException(); } }
public Declaration(TypeConstraint constraint, string identifier) { Constraint = constraint; Identifier = identifier; }