Author: martin
Date: 2005-04-30 02:42:06 -0400 (Sat, 30 Apr 2005)
New Revision: 43811

Modified:
   trunk/mcs/gmcs/ChangeLog
   trunk/mcs/gmcs/class.cs
   trunk/mcs/gmcs/typemanager.cs
Log:
2005-04-30  Martin Baulig  <[EMAIL PROTECTED]>

        * typemanager.cs
        (TypeManager.ExpandInterfaces): Don't add things twice.

        * class.cs
        (TypeContainer.VerifyClsCompliance): Allow generic instances.



Modified: trunk/mcs/gmcs/ChangeLog
===================================================================
--- trunk/mcs/gmcs/ChangeLog    2005-04-30 06:41:57 UTC (rev 43810)
+++ trunk/mcs/gmcs/ChangeLog    2005-04-30 06:42:06 UTC (rev 43811)
@@ -1,3 +1,11 @@
+2005-04-30  Martin Baulig  <[EMAIL PROTECTED]>
+
+       * typemanager.cs
+       (TypeManager.ExpandInterfaces): Don't add things twice.
+
+       * class.cs
+       (TypeContainer.VerifyClsCompliance): Allow generic instances.
+
 2005-04-29  Martin Baulig  <[EMAIL PROTECTED]>
 
        * generic.cs (Constraints.ResolveTypes): Expand interfaces.

Modified: trunk/mcs/gmcs/class.cs
===================================================================
--- trunk/mcs/gmcs/class.cs     2005-04-30 06:41:57 UTC (rev 43810)
+++ trunk/mcs/gmcs/class.cs     2005-04-30 06:42:06 UTC (rev 43811)
@@ -2447,12 +2447,6 @@
 
                        VerifyClsName ();
 
-                       if (IsGeneric) {
-                               Report.Error (3024, Location, "'{0}': type 
parameters are not CLS-compliant",
-                                             GetSignatureForError ());
-                               return false;
-                       }
-
                        Type base_type = TypeBuilder.BaseType;
                        if (base_type != null && 
!AttributeTester.IsClsCompliant (base_type)) {
                                Report.Error (3009, Location, "'{0}': base type 
'{1}' is not CLS-compliant", GetSignatureForError (), TypeManager.CSharpName 
(base_type));

Modified: trunk/mcs/gmcs/typemanager.cs
===================================================================
--- trunk/mcs/gmcs/typemanager.cs       2005-04-30 06:41:57 UTC (rev 43810)
+++ trunk/mcs/gmcs/typemanager.cs       2005-04-30 06:42:06 UTC (rev 43811)
@@ -2179,11 +2179,13 @@
                        if (texpr == null)
                                return null;
 
-                       if (!new_ifaces.Contains (texpr.Type))
-                               new_ifaces.Add (texpr.Type);
+                       if (new_ifaces.Contains (texpr.Type))
+                               continue;
+
+                       new_ifaces.Add (texpr.Type);
                        
                        Type [] implementing = texpr.Type.GetInterfaces ();
-                       
+
                        foreach (Type imp in implementing){
                                if (!new_ifaces.Contains (imp))
                                        new_ifaces.Add (imp);

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

Reply via email to