[svn] r7620: nemerle/trunk/ncc/typing: TypedTree.n Typer2.n

VladD2 svnadmin at nemerle.org
Thu Apr 26 07:38:09 CEST 2007


Log:
Prevent ice if IsIntelliSenseMode == true

Author: VladD2
Date: Thu Apr 26 07:38:06 2007
New Revision: 7620

Modified:
   nemerle/trunk/ncc/typing/TypedTree.n
   nemerle/trunk/ncc/typing/Typer2.n

Modified: nemerle/trunk/ncc/typing/TypedTree.n
==============================================================================
--- nemerle/trunk/ncc/typing/TypedTree.n	(original)
+++ nemerle/trunk/ncc/typing/TypedTree.n	Thu Apr 26 07:38:06 2007
@@ -832,7 +832,13 @@
               assert (c.body != null, $ "when trying to determin type, body is null: $this");
               ty = c.body.Type
             | _ =>
-              Util.ice ($ "type is null for $loc, $this");
+              if (ManagerClass.Instance.IsIntelliSenseMode)
+              {
+                System.Diagnostics.Trace.WriteLine($"type is null for $loc, $this");
+                ty = ManagerClass.Instance.Solver.FreshTyVar ()
+              }
+              else
+                Util.ice ($"type is null for $loc, $this");
           }
         }
 

Modified: nemerle/trunk/ncc/typing/Typer2.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer2.n	(original)
+++ nemerle/trunk/ncc/typing/Typer2.n	Thu Apr 26 07:38:06 2007
@@ -230,7 +230,14 @@
           match (dt.DtKind) {
             | Typer.DelayedTyping.Kind.Resolved (expr) =>
               Unfold (expr)
-            | _ => Util.ice ($ "unresolved expression: $dt");
+            | _ =>
+              if (Manager.IsIntelliSenseMode)
+              {
+                System.Diagnostics.Trace.WriteLine(dt);
+                TExpr.Error() 
+              }
+              else
+                Util.ice ($ "unresolved expression: $dt");
           }
         | TExpr.CacheRef (d) =>
           Unfold (d.RefIs)



More information about the svn mailing list