4 using Mono.Linker.Steps;
10 public class RemoveResources : IStep {
12 readonly I18nAssemblies assemblies;
14 public RemoveResources (I18nAssemblies assemblies)
16 this.assemblies = assemblies;
19 public virtual void Process (LinkContext context)
21 AssemblyDefinition assembly;
22 if (!context.TryGetLinkedAssembly ("mscorlib", out assembly))
25 // skip this if we're not linking mscorlib, e.g. --linkskip=mscorlib
26 if (context.Annotations.GetAction (assembly) != AssemblyAction.Link)
29 var resources = assembly.MainModule.Resources;
31 for (int i = 0; i < resources.Count; i++) {
32 var resource = resources [i] as EmbeddedResource;
36 switch (resource.Name) {
37 case "collation.core.bin":
38 case "collation.tailoring.bin":
41 if (!resource.Name.Contains ("cjk"))
46 resources.RemoveAt (i--);
54 return (assemblies & I18nAssemblies.CJK) != 0;