private static PermissionSet CreatePermissionSet(SecurityDeclaration declaration) { PermissionSet permissionSets = new PermissionSet(PermissionState.None); foreach (Mono.Cecil.SecurityAttribute securityAttribute in declaration.SecurityAttributes) { permissionSets.AddPermission(SecurityDeclarationRocks.CreatePermission(declaration, securityAttribute)); } return(permissionSets); }
private static void CompleteSecurityAttribute(System.Security.Permissions.SecurityAttribute security_attribute, Mono.Cecil.SecurityAttribute attribute) { if (attribute.HasFields) { SecurityDeclarationRocks.CompleteSecurityAttributeFields(security_attribute, attribute); } if (attribute.HasProperties) { SecurityDeclarationRocks.CompleteSecurityAttributeProperties(security_attribute, attribute); } }
public static PermissionSet ToPermissionSet(this SecurityDeclaration self) { PermissionSet permissionSets; if (self == null) { throw new ArgumentNullException("self"); } if (SecurityDeclarationRocks.TryProcessPermissionSetAttribute(self, out permissionSets)) { return(permissionSets); } return(SecurityDeclarationRocks.CreatePermissionSet(self)); }
private static IPermission CreatePermission(SecurityDeclaration declaration, Mono.Cecil.SecurityAttribute attribute) { Type type = Type.GetType(attribute.AttributeType.FullName); if (type == null) { throw new ArgumentException("attribute"); } System.Security.Permissions.SecurityAttribute securityAttribute = SecurityDeclarationRocks.CreateSecurityAttribute(type, declaration); if (securityAttribute == null) { throw new InvalidOperationException(); } SecurityDeclarationRocks.CompleteSecurityAttribute(securityAttribute, attribute); return(securityAttribute.CreatePermission()); }