[svn] r7406: nemerle/trunk/ncc: hierarchy/ClassMembers.n testsuite/positive/abstract.n

nazgul svnadmin at nemerle.org
Sun Feb 11 23:32:45 CET 2007


Log:
Abstract override

Author: nazgul
Date: Sun Feb 11 23:32:43 2007
New Revision: 7406

Modified:
   nemerle/trunk/ncc/hierarchy/ClassMembers.n
   nemerle/trunk/ncc/testsuite/positive/abstract.n

Modified: nemerle/trunk/ncc/hierarchy/ClassMembers.n
==============================================================================
--- nemerle/trunk/ncc/hierarchy/ClassMembers.n	(original)
+++ nemerle/trunk/ncc/hierarchy/ClassMembers.n	Sun Feb 11 23:32:43 2007
@@ -347,11 +347,6 @@
     when (mem_is_override && IsPrivate)
       Message.FatalError2 (loc, $"override $title_plural are not allowed to be private: $(this)");
                            
-    // do not allow to mix abstract with the 'override' modifier
-    when (mem_is_abstract && mem_is_override)
-      Message.FatalError2 (loc, $"abstract $title_plural are not allowed to have the "
-                           "'override' modifier: $(this)");      
-
     // static methods/properties cannot be abstract, virtual or override
     when ((mem_is_abstract || mem_is_virtual || mem_is_override) && IsStatic)
       Message.FatalError2 (loc, $"static $title_plural are not allowed to have the "

Modified: nemerle/trunk/ncc/testsuite/positive/abstract.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/abstract.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/abstract.n	Sun Feb 11 23:32:43 2007
@@ -64,6 +64,21 @@
   }
 }
 
+namespace AbstractOverride {
+class Base {
+   public virtual Foo() : void {}
+}
+
+abstract class Derived : Base {
+   public abstract override Foo() : void; 
+}
+class Concrete : Derived { 
+   public override Foo() : void { 
+     System.Console.WriteLine ("foo");
+   }  
+}
+}
+
 /*
 OPTIONS: -doc:abstract.xml
 



More information about the svn mailing list