obfuz/com.code-philosophy.obfuz/Runtime/ObfuzIgnoreAttribute.cs

54 lines
1.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Obfuz
{
public enum ObfuzScope
{
None = 0x0,
Self = 0x1,
Field = 0x2,
MethodName = 0x4,
MethodParameter = 0x8,
MethodBody = 0x10,
Method = MethodName | MethodParameter | MethodBody,
PropertyName = 020,
PropertyGetter = 0x40,
PropertySetter = 0x80,
Property = PropertyName | PropertyGetter | PropertySetter,
EventName = 0x100,
EventAdd = 0x200,
EventRemove = 0x400,
EventFire = 0x800,
Event = EventName | EventAdd | EventRemove,
NestedTypeSelf = 0x1000,
NestedTypeField = 0x2000,
NestedTypeMethod = 0x4000,
NestedTypeProperty = 0x8000,
NestedTypeEvent = 0x10000,
NestedTypeAll = NestedTypeSelf | NestedTypeField | NestedTypeMethod | NestedTypeProperty | NestedTypeEvent,
Member = Field | Method | Property | Event,
MemberAndNestedTypeSelf = Member | NestedTypeSelf,
MemberAndNestedTypeAll = Member | NestedTypeAll,
SelfAndNestedTypeSelf = Self | NestedTypeSelf,
All = Self | MemberAndNestedTypeAll,
}
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = false)]
public class ObfuzIgnoreAttribute : Attribute
{
public ObfuzScope Scope { get; set; }
public ObfuzIgnoreAttribute(ObfuzScope scope = ObfuzScope.All)
{
this.Scope = scope;
}
}
}