2007-03-10 Marek Safar <marek.safar@gmail.com>
authorMarek Safar <marek.safar@gmail.com>
Sat, 10 Mar 2007 23:05:03 +0000 (23:05 -0000)
committerMarek Safar <marek.safar@gmail.com>
Sat, 10 Mar 2007 23:05:03 +0000 (23:05 -0000)
* generic.cs (TypeArguments.Resolve): Avoid redundant checks.

svn path=/trunk/mcs/; revision=74055

mcs/gmcs/ChangeLog
mcs/gmcs/generic.cs

index 58d288684f668df481f9d28b1256c5dfb31518c3..32d5b1bcba66d967a1c44c05b02b45defd020328 100644 (file)
@@ -1,3 +1,7 @@
+2007-03-10  Marek Safar  <marek.safar@gmail.com>
+
+       * generic.cs (TypeArguments.Resolve): Avoid redundant checks.
+
 2007-03-09  Raja R Harinath  <rharinath@novell.com>
 
        * cs-parser.jay (WHERE): Move before QUERY_FIRST_TOKEN.  'where'
index ae49fe95fb862f8f3156d66d25a71884a9c21226..689988a63fb9d94302df9942d0673ca03fe5b3be 100644 (file)
@@ -1246,16 +1246,20 @@ namespace Mono.CSharp {
                                        ok = false;
                                        continue;
                                }
-                               if (te is TypeParameterExpr)
+
+                               atypes[i] = te.Type;
+
+                               if (te is TypeParameterExpr) {
                                        has_type_args = true;
+                                       continue;
+                               }
 
-#if !MS_COMPATIBLE
                                if (te.Type.IsSealed && te.Type.IsAbstract) {
                                        Report.Error (718, Location, "`{0}': static classes cannot be used as generic arguments",
                                                te.GetSignatureForError ());
                                        return false;
                                }
-#endif
+
                                if (te.Type.IsPointer) {
                                        Report.Error (306, Location, "The type `{0}' may not be used " +
                                                          "as a type argument", TypeManager.CSharpName (te.Type));
@@ -1266,8 +1270,6 @@ namespace Mono.CSharp {
                                        Expression.Error_VoidInvalidInTheContext (Location);
                                        return false;
                                }
-
-                               atypes [i] = te.Type;
                        }
                        return ok;
                }