internal static RigidTypeException Create(string name, Type type) { var sb = new StringBuilder(); var tpp = new TypePrettyPrinter(); type.PrettyPrint(tpp, sb, 0); return(new RigidTypeException(name, sb.ToString(), tpp)); }
internal static OccursCheckException Create(Type lhs, Type rhs) { var sb1 = new StringBuilder(); var sb2 = new StringBuilder(); var tpp = new TypePrettyPrinter(); lhs.PrettyPrint(tpp, sb1, 0); rhs.PrettyPrint(tpp, sb2, 0); return(new OccursCheckException(sb1.ToString(), sb2.ToString(), tpp)); }
internal OccursCheckException(string type, string name, TypePrettyPrinter printer) : base(string.Format("Occurs check: {1} occurs in {0}", type, name), printer) { }
internal RigidTypeException(string name, string type, TypePrettyPrinter printer) : base(string.Format("Could not unify a rigid type variable {0} with {1}", name, type), printer) { }
internal StackedException(string message, TypePrettyPrinter printer) : base(message) { Trace = new List <string>(); PrettyPrinter = printer; }
internal TypeException(string lhs, string rhs, TypePrettyPrinter printer) : base(string.Format("Could not unify {0} with {1}", lhs, rhs), printer) { }