[svn] r6220: nemerle/trunk/ncc: hierarchy/GlobalEnv.n testsuite/positive/access-checks.n

malekith svnadmin at nemerle.org
Thu May 4 14:08:54 CEST 2006


Log:
Don't ever return duplicates from LookupSymbol. Resolves #594.

Author: malekith
Date: Thu May  4 14:08:52 2006
New Revision: 6220

Modified:
   nemerle/trunk/ncc/hierarchy/GlobalEnv.n
   nemerle/trunk/ncc/testsuite/positive/access-checks.n

Modified: nemerle/trunk/ncc/hierarchy/GlobalEnv.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/GlobalEnv.n	(original)
+++ nemerle/trunk/ncc/hierarchy/GlobalEnv.n	Thu May  4 14:08:52 2006
@@ -276,7 +276,10 @@
               t.LookupMember (the_name, for_completion)
             else [];
           visited = t :: visited;
-          def acc = members.FoldLeft (acc, list.Cons);
+          def acc = 
+            members.FoldLeft (acc, fun (mem, acc) { 
+              if (List.ContainsRef (acc, mem)) acc else mem :: acc 
+            });
           match (t.GetTydecl ()) {
             | TypeDeclaration.Alias (MType.Class (ti, _)) => add_members_from (ti, acc)
             | _ => acc

Modified: nemerle/trunk/ncc/testsuite/positive/access-checks.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/access-checks.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/access-checks.n	Thu May  4 14:08:52 2006
@@ -39,6 +39,14 @@
   }
 }
 
+namespace Bug594 {
+class Ax {
+  class Bx : Ax {
+    x : Bx;
+  }
+}
+}
+
 namespace UninitializedSubtyping {
   public class Test
   {



More information about the svn mailing list