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