[svn] r6377: nemerle/trunk/ncc: testsuite/completion-playground/compl3.n typing/Typer.n

nazgul svnadmin at nemerle.org
Tue Jun 6 23:02:02 CEST 2006


Log:
Fix bug in completion engine, when we complete instance method from instance method

Author: nazgul
Date: Tue Jun  6 23:01:59 2006
New Revision: 6377

Modified:
   nemerle/trunk/ncc/testsuite/completion-playground/compl3.n
   nemerle/trunk/ncc/typing/Typer.n

Modified: nemerle/trunk/ncc/testsuite/completion-playground/compl3.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/completion-playground/compl3.n	(original)
+++ nemerle/trunk/ncc/testsuite/completion-playground/compl3.n	Tue Jun  6 23:01:59 2006
@@ -92,7 +92,7 @@
       WriteLine ("  Member found:");
 
       foreach (overl in overloads)
-        WriteLine ($"    $(overl.Member.Name)  -> $overl"
+        WriteLine ($"    $(overl.Member.Name)  ==> $overl"
           " $(overl.Member.Attributes)");
 
       WriteLine ("  ==========");
@@ -105,11 +105,11 @@
 }
 
 //FixMe: Bugs
-try_completion ("Fo");
 try_completion ("");
 try_completion ("def _ = 0; ");
 
 // Work fine:
+try_completion ("Fo");
 try_completion ("System.");
 try_completion ("System.Reflection.");
 try_completion ("this.Fo");

Modified: nemerle/trunk/ncc/typing/Typer.n
==============================================================================
--- nemerle/trunk/ncc/typing/Typer.n	(original)
+++ nemerle/trunk/ncc/typing/Typer.n	Tue Jun  6 23:01:59 2006
@@ -2454,17 +2454,17 @@
       // Message.Debug ($ "type name: $idl");
       def from_this =
         match (expr) {
-          // FIXME | PT.PExpr.ToComplete 
+          | PT.PExpr.ToComplete (name) when is_method
           | PT.PExpr.Ref (name) when is_method =>
             def res =
               try {
                 solver.PushState ();
-                Option.UnSome (TypeMember (This (), name, expected));
+                Option.UnSome (TypeMember (This (), name, expected, for_completion));
               } finally {
                 solver.PopState ();
               }
             if (res.IsEmpty) []
-            else Option.UnSome (TypeMember (This (), name, expected))
+            else Option.UnSome (TypeMember (This (), name, expected, for_completion))
           | _ => []
         };
 



More information about the svn mailing list