using dnlib.DotNet; using System.Linq; namespace Obfuz.Rename { public class CombineRenamePolicy : IRenamePolicy { private readonly IRenamePolicy[] _policies; public CombineRenamePolicy(params IRenamePolicy[] policies) { _policies = policies; } public bool NeedRename(ModuleDefMD mod) { return _policies.All(policy => policy.NeedRename(mod)); } public bool NeedRename(TypeDef typeDef) { return _policies.All(policy => policy.NeedRename(typeDef)); } public bool NeedRename(MethodDef methodDef) { return _policies.All(policy => policy.NeedRename(methodDef)); } public bool NeedRename(FieldDef fieldDef) { return _policies.All(policy => policy.NeedRename(fieldDef)); } public bool NeedRename(PropertyDef propertyDef) { return _policies.All(policy => policy.NeedRename(propertyDef)); } public bool NeedRename(EventDef eventDef) { return _policies.All(policy => policy.NeedRename(eventDef)); } public bool NeedRename(ParamDef paramDef) { return _policies.All(policy => policy.NeedRename(paramDef)); } } }