Author: martin
Date: 2005-04-19 05:09:41 -0400 (Tue, 19 Apr 2005)
New Revision: 43242

Modified:
   trunk/mcs/gmcs/ChangeLog
   trunk/mcs/gmcs/class.cs
Log:
**** Merged r42461 from MCS ****


Modified: trunk/mcs/gmcs/ChangeLog
===================================================================
--- trunk/mcs/gmcs/ChangeLog    2005-04-19 09:07:08 UTC (rev 43241)
+++ trunk/mcs/gmcs/ChangeLog    2005-04-19 09:09:41 UTC (rev 43242)
@@ -1,3 +1,9 @@
+2005-04-01  Marek Safar  <[EMAIL PROTECTED]>
+
+       Fix #74241
+       * class.cs (Event.Emit): Call Add/Remove emit even for interfaces.
+       Attributes are emitted there.
+       
 2005-04-01  Raja R Harinath  <[EMAIL PROTECTED]>
 
        * cs-tokenizer.cs (consume_identifier): Treat 'partial' as a

Modified: trunk/mcs/gmcs/class.cs
===================================================================
--- trunk/mcs/gmcs/class.cs     2005-04-19 09:07:08 UTC (rev 43241)
+++ trunk/mcs/gmcs/class.cs     2005-04-19 09:09:41 UTC (rev 43242)
@@ -7222,6 +7222,9 @@
                                        return;
                                }
 
+                               if ((method.ModFlags & (Modifiers.ABSTRACT | 
Modifiers.EXTERN)) != 0)
+                                       return;
+
                                ILGenerator ig = 
method_data.MethodBuilder.GetILGenerator ();
                                FieldInfo field_info = 
(FieldInfo)method.FieldBuilder;
 
@@ -7431,10 +7434,8 @@
                                OptAttributes.Emit (ec, this);
                        }
 
-                       if (!IsInterface) {
-                               Add.Emit (Parent);
-                               Remove.Emit (Parent);
-                       }
+                       Add.Emit (Parent);
+                       Remove.Emit (Parent);
 
                        base.Emit ();
                }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to