Author: martin
Date: 2005-04-30 03:41:13 -0400 (Sat, 30 Apr 2005)
New Revision: 43813
Modified:
trunk/mcs/gmcs/ChangeLog
trunk/mcs/gmcs/attribute.cs
Log:
2005-04-30 Martin Baulig <[EMAIL PROTECTED]>
* attribute.cs (Attribute.CheckSecurityActionValidity): Correctly
handle the .NET 2.x security attributes.
Modified: trunk/mcs/gmcs/ChangeLog
===================================================================
--- trunk/mcs/gmcs/ChangeLog 2005-04-30 06:46:14 UTC (rev 43812)
+++ trunk/mcs/gmcs/ChangeLog 2005-04-30 07:41:13 UTC (rev 43813)
@@ -1,5 +1,10 @@
2005-04-30 Martin Baulig <[EMAIL PROTECTED]>
+ * attribute.cs (Attribute.CheckSecurityActionValidity): Correctly
+ handle the .NET 2.x security attributes.
+
+2005-04-30 Martin Baulig <[EMAIL PROTECTED]>
+
* typemanager.cs
(TypeManager.ExpandInterfaces): Don't add things twice.
Modified: trunk/mcs/gmcs/attribute.cs
===================================================================
--- trunk/mcs/gmcs/attribute.cs 2005-04-30 06:46:14 UTC (rev 43812)
+++ trunk/mcs/gmcs/attribute.cs 2005-04-30 07:41:13 UTC (rev 43813)
@@ -796,19 +796,32 @@
/// </summary>
public bool CheckSecurityActionValidity (bool for_assembly)
{
- SecurityAction action = GetSecurityActionValue ();
+ SecurityAction action = GetSecurityActionValue ();
- if ((action == SecurityAction.RequestMinimum || action
== SecurityAction.RequestOptional || action == SecurityAction.RequestRefuse) &&
for_assembly)
- return true;
+ switch (action) {
+ case SecurityAction.Demand:
+ case SecurityAction.Assert:
+ case SecurityAction.Deny:
+ case SecurityAction.PermitOnly:
+ case SecurityAction.LinkDemand:
+ case SecurityAction.InheritanceDemand:
+ case SecurityAction.LinkDemandChoice:
+ case SecurityAction.InheritanceDemandChoice:
+ case SecurityAction.DemandChoice:
+ if (!for_assembly)
+ return true;
+ break;
- if (!for_assembly) {
- if (action < SecurityAction.Demand || action >
SecurityAction.InheritanceDemand) {
- Error_AttributeEmitError
("SecurityAction is out of range");
- return false;
- }
+ case SecurityAction.RequestMinimum:
+ case SecurityAction.RequestOptional:
+ case SecurityAction.RequestRefuse:
+ if (for_assembly)
+ return true;
+ break;
- if ((action != SecurityAction.RequestMinimum &&
action != SecurityAction.RequestOptional && action !=
SecurityAction.RequestRefuse) && !for_assembly)
- return true;
+ default:
+ Error_AttributeEmitError ("SecurityAction is
out of range X");
+ return false;
}
Error_AttributeEmitError (String.Concat
("SecurityAction '", action, "' is not valid for this declaration"));
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches