[svn] r7638: nemerle/trunk/ncc: generation/HierarchyEmitter.n testsuite/positive/multi-implements.n

nazgul svnadmin at nemerle.org
Mon Apr 30 17:50:50 CEST 2007


Log:
Emit explicit implementation for all non-public methods

Author: nazgul
Date: Mon Apr 30 17:50:49 2007
New Revision: 7638

Modified:
   nemerle/trunk/ncc/generation/HierarchyEmitter.n
   nemerle/trunk/ncc/testsuite/positive/multi-implements.n

Modified: nemerle/trunk/ncc/generation/HierarchyEmitter.n
==============================================================================
--- nemerle/trunk/ncc/generation/HierarchyEmitter.n	(original)
+++ nemerle/trunk/ncc/generation/HierarchyEmitter.n	Mon Apr 30 17:50:49 2007
@@ -720,7 +720,7 @@
         foreach (overridden in ImplementedMethods) {
           // Message.Debug ("override " + method_info.Name + " " + overridden_info.Name + " in " +
           //                type_builder.FullName);
-          when (mb.IsPrivate || Name != overridden.Name) {
+          when (!mb.IsPublic || Name != overridden.Name) {
             def overridden_info =
               ILEmitter.GetMethodInfo (declaring_type.GetMemType (), overridden);
             type_builder.DefineMethodOverride (mb, overridden_info)

Modified: nemerle/trunk/ncc/testsuite/positive/multi-implements.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/multi-implements.n	(original)
+++ nemerle/trunk/ncc/testsuite/positive/multi-implements.n	Mon Apr 30 17:50:49 2007
@@ -46,6 +46,15 @@
   public event E1 : System.EventHandler;
 }
 
+interface IDo {
+  Do() : void;
+}
+
+class Bug996 : IDo {
+  internal Do() : void implements IDo.Do {
+  }
+}
+
 
 module M {
   Main () : void {



More information about the svn mailing list