Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/rocks
diff options
context:
space:
mode:
authorjbevain <jbevain@gmail.com>2010-12-01 15:15:49 +0300
committerjbevain <jbevain@gmail.com>2010-12-01 15:15:49 +0300
commit49a4e32c9f5952a8ad031003e0d9f005da08b441 (patch)
tree1059ca63932dfe7db0042db26ae5612f5eab125b /rocks
parente38fa94cfdfb77194102dd399a0068a85b0dc7a7 (diff)
Add support for Name attributes when creating a PermissionSet from a SecurityDeclaration
Diffstat (limited to 'rocks')
-rw-r--r--rocks/Mono.Cecil.Rocks/SecurityDeclarationRocks.cs20
1 files changed, 14 insertions, 6 deletions
diff --git a/rocks/Mono.Cecil.Rocks/SecurityDeclarationRocks.cs b/rocks/Mono.Cecil.Rocks/SecurityDeclarationRocks.cs
index d3f3c6c..24f24d9 100644
--- a/rocks/Mono.Cecil.Rocks/SecurityDeclarationRocks.cs
+++ b/rocks/Mono.Cecil.Rocks/SecurityDeclarationRocks.cs
@@ -60,12 +60,20 @@ namespace Mono.Cecil.Rocks {
if (!security_attribute.AttributeType.IsTypeOf ("System.Security.Permissions", "PermissionSetAttribute"))
return false;
- var named_argument = security_attribute.Properties [0];
- if (named_argument.Name != "XML")
- throw new NotSupportedException ();
-
var attribute = new SSP.PermissionSetAttribute ((SSP.SecurityAction) declaration.Action);
- attribute.XML = (string) named_argument.Argument.Value;
+
+ var named_argument = security_attribute.Properties [0];
+ string value = (string) named_argument.Argument.Value;
+ switch (named_argument.Name) {
+ case "XML":
+ attribute.XML = value;
+ break;
+ case "Name":
+ attribute.Name = value;
+ break;
+ default:
+ throw new NotImplementedException (named_argument.Name);
+ }
set = attribute.CreatePermissionSet ();
return true;
@@ -87,7 +95,7 @@ namespace Mono.Cecil.Rocks {
{
var attribute_type = Type.GetType (attribute.AttributeType.FullName);
if (attribute_type == null)
- throw new ArgumentException ();
+ throw new ArgumentException ("attribute");
var security_attribute = CreateSecurityAttribute (attribute_type, declaration);
if (security_attribute == null)