obfuz/Editor/ObfusPasses/SymbolObfus/Policies/SupportPassPolicy.cs

51 lines
1.3 KiB
C#

using dnlib.DotNet;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Obfuz.ObfusPasses.SymbolObfus.Policies
{
internal class SupportPassPolicy : ObfuscationPolicyBase
{
private readonly ConfigurablePassPolicy _policy;
private bool Support(ObfuscationPassType passType)
{
return passType.HasFlag(ObfuscationPassType.SymbolObfus);
}
public SupportPassPolicy(ConfigurablePassPolicy policy)
{
_policy = policy;
}
public override bool NeedRename(TypeDef typeDef)
{
return Support(_policy.GetTypeObfuscationPasses(typeDef));
}
public override bool NeedRename(MethodDef methodDef)
{
return Support(_policy.GetMethodObfuscationPasses(methodDef));
}
public override bool NeedRename(FieldDef fieldDef)
{
return Support(_policy.GetFieldObfuscationPasses(fieldDef));
}
public override bool NeedRename(PropertyDef propertyDef)
{
return Support(_policy.GetPropertyObfuscationPasses(propertyDef));
}
public override bool NeedRename(EventDef eventDef)
{
return Support(_policy.GetEventObfuscationPasses(eventDef));
}
}
}