2009-05-21 Marek Safar <marek.safar@gmail.com>
authorMarek Safar <marek.safar@gmail.com>
Thu, 21 May 2009 11:57:28 +0000 (11:57 -0000)
committerMarek Safar <marek.safar@gmail.com>
Thu, 21 May 2009 11:57:28 +0000 (11:57 -0000)
* class.cs: Don't report wrong warnings for event fields.

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

mcs/mcs/ChangeLog
mcs/mcs/class.cs

index 86e8bd27e91d9930355af0dc6229cec1e6efe3d8..b0dafc35a3b7b1dcbfa3694c6e5c8471d5eb41ea 100644 (file)
@@ -1,3 +1,7 @@
+2009-05-21  Marek Safar  <marek.safar@gmail.com>
+
+       * class.cs: Don't report wrong warnings for event fields.
+
 2009-05-21  Marek Safar  <marek.safar@gmail.com>
 
        A fix for bug #504667
index 0d0d3e655b56a0bb42571f7b7e5bac6039c671d9..0a829a5629fb62f252fb829e421c24af6c60aeba 100644 (file)
@@ -5416,7 +5416,7 @@ namespace Mono.CSharp {
                                return true;
                        }
  
-                       if ((ModFlags & (Modifiers.NEW | Modifiers.OVERRIDE)) == 0) {
+                       if ((ModFlags & (Modifiers.NEW | Modifiers.OVERRIDE | Modifiers.BACKING_FIELD)) == 0) {
                                Report.SymbolRelatedToPreviousError (conflict_symbol);
                                Report.Warning (108, 2, Location, "`{0}' hides inherited member `{1}'. Use the new keyword if hiding was intended",
                                        GetSignatureForError (), TypeManager.GetFullNameSignature (conflict_symbol));
@@ -7068,14 +7068,16 @@ namespace Mono.CSharp {
                                        GetSignatureForError ());
                        }
 
-                       if (!HasBackingField)
+                       if (!HasBackingField) {
+                               SetMemberIsUsed ();
                                return true;
+                       }
 
                        // FIXME: We are unable to detect whether generic event is used because
                        // we are using FieldExpr instead of EventExpr for event access in that
                        // case.  When this issue will be fixed this hack can be removed.
                        if (TypeManager.IsGenericType (MemberType))
-                               SetMemberIsUsed();
+                               SetMemberIsUsed ();
 
                        if (Add.IsInterfaceImplementation)
                                SetMemberIsUsed ();