Author: marek
Date: 2005-12-01 11:50:48 -0500 (Thu, 01 Dec 2005)
New Revision: 53773

Modified:
   trunk/mcs/mcs/ChangeLog
   trunk/mcs/mcs/class.cs
   trunk/mcs/mcs/ecore.cs
Log:
2005-12-01  Marek Safar  <[EMAIL PROTECTED]>

        Fix #76849.
        * class.cs (MethodData.Define): Set proper Obsolete context.

        * ecore.cs (FieldExpr.ResolveMemberAccess): Don't check [Obsolete] in
        obsolete context.
        (FieldExpr.DoResolve): Ditto.


Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog     2005-12-01 15:55:05 UTC (rev 53772)
+++ trunk/mcs/mcs/ChangeLog     2005-12-01 16:50:48 UTC (rev 53773)
@@ -1,6 +1,15 @@
 2005-12-01  Marek Safar  <[EMAIL PROTECTED]>
 
        Fix #76849.
+       * class.cs (MethodData.Define): Set proper Obsolete context.
+
+       * ecore.cs (FieldExpr.ResolveMemberAccess): Don't check [Obsolete] in
+       obsolete context.
+       (FieldExpr.DoResolve): Ditto.
+
+2005-12-01  Marek Safar  <[EMAIL PROTECTED]>
+
+       Fix #76849.
        * class.cs (MethodCore.DoDefineParameters): Test [Obsolete] only when
        parent is not obsolete.
 

Modified: trunk/mcs/mcs/class.cs
===================================================================
--- trunk/mcs/mcs/class.cs      2005-12-01 15:55:05 UTC (rev 53772)
+++ trunk/mcs/mcs/class.cs      2005-12-01 16:50:48 UTC (rev 53773)
@@ -4797,6 +4797,8 @@
                        }
 
                        EmitContext ec = method.CreateEmitContext (container, 
null);
+                       if (method.GetObsoleteAttribute () != null || 
container.GetObsoleteAttribute () != null)
+                               ec.TestObsoleteMethodUsage = false;
 
                        DefineMethodBuilder (ec, container, method_name, 
method.ParameterInfo.Types);
 

Modified: trunk/mcs/mcs/ecore.cs
===================================================================
--- trunk/mcs/mcs/ecore.cs      2005-12-01 15:55:05 UTC (rev 53772)
+++ trunk/mcs/mcs/ecore.cs      2005-12-01 16:50:48 UTC (rev 53773)
@@ -2722,8 +2722,10 @@
                                        return null;
                                }
 
-                               if (ic.ResolveValue ())
-                                       ic.CheckObsoleteness (loc);
+                               if (ic.ResolveValue ()) {
+                                       if (ec.TestObsoleteMethodUsage)
+                                               ic.CheckObsoleteness (loc);
+                               }
 
                                return ic.Value;
                        }
@@ -2780,7 +2782,8 @@
                                ObsoleteAttribute oa;
                                FieldBase f = TypeManager.GetField (FieldInfo);
                                if (f != null) {
-                                       f.CheckObsoleteness (loc);
+                                       if (ec.TestObsoleteMethodUsage)
+                                               f.CheckObsoleteness (loc);
                                 
                                        // To be sure that type is external 
because we do not register generated fields
                                } else if (!(FieldInfo.DeclaringType is 
TypeBuilder)) {                                

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

Reply via email to