using System; using dnlib.DotNet; namespace Confuser.Core.Project.Patterns { /// /// A function that indicate whether the item has the given custom attribute. /// public class HasAttrFunction : PatternFunction { internal const string FnName = "has-attr"; /// public override string Name { get { return FnName; } } /// public override int ArgumentCount { get { return 1; } } /// public override object Evaluate(IDnlibDef definition) { string attrName = Arguments[0].Evaluate(definition).ToString(); return definition.CustomAttributes.IsDefined(attrName); } } }