[svn] r5962: nemerle/trunk/ncc/generation/Typer4.n
malekith
svnadmin at nemerle.org
Tue Nov 22 15:39:04 CET 2005
Log:
Prevent looping in CheckSTV.
Author: malekith
Date: Tue Nov 22 15:39:04 2005
New Revision: 5962
Modified:
nemerle/trunk/ncc/generation/Typer4.n
Modified: nemerle/trunk/ncc/generation/Typer4.n
==============================================================================
--- nemerle/trunk/ncc/generation/Typer4.n (original)
+++ nemerle/trunk/ncc/generation/Typer4.n Tue Nov 22 15:39:04 2005
@@ -151,6 +151,8 @@
static mutable current_t4 : Typer4;
static CheckSTV (t : TyVar) : void
{
+ if (Passes.Solver.CanEnterPossiblyLooping ())
+ try {
match (t.Fix ()) {
| Class (_, args)
| Tuple (args) =>
@@ -186,6 +188,15 @@
"$(current_t4.the_method)");
{}
}
+ } finally {
+ Passes.Solver.LeavePossiblyLooping ()
+ }
+ else {
+ ReportError (Passes.Solver.CurrentMessenger,
+ $ "CheckSTV for $t failed");
+ when (Passes.Solver.CurrentMessenger.NeedMessage)
+ Message.MaybeBailout ();
+ }
}
#endif
More information about the svn
mailing list