2 using System.Collections.Generic;
6 using Mono.Linker.Steps;
10 namespace Mono.Tuner {
12 public class RemoveSecurity : BaseSubStep {
14 public override SubStepTargets Targets {
16 return SubStepTargets.Assembly
18 | SubStepTargets.Method;
22 public override bool IsActiveFor (AssemblyDefinition assembly)
24 return Annotations.GetAction (assembly) == AssemblyAction.Link;
27 public override void ProcessAssembly (AssemblyDefinition assembly)
29 ProcessSecurityProvider (assembly);
32 public override void ProcessType (TypeDefinition type)
34 ProcessSecurityProvider (type);
37 public override void ProcessMethod (MethodDefinition method)
39 ProcessSecurityProvider (method);
42 static void ProcessSecurityProvider (ISecurityDeclarationProvider provider)
44 if (!provider.HasSecurityDeclarations)
47 provider.SecurityDeclarations.Clear ();