public static AccessorType GetAccessorType()

in src/lib/Microsoft.Fx.Portability.Cci/TypeExtensions.cs [541:575]


        public static AccessorType GetAccessorType(this IMethodDefinition methodDefinition)
        {
            if (!methodDefinition.IsSpecialName)
            {
                return AccessorType.None;
            }

            foreach (var p in methodDefinition.ContainingTypeDefinition.Properties)
            {
                if (p.Getter != null && p.Getter.ResolvedMethod.InternedKey == methodDefinition.InternedKey)
                {
                    return AccessorType.PropertyGetter;
                }

                if (p.Setter != null && p.Setter.ResolvedMethod.InternedKey == methodDefinition.InternedKey)
                {
                    return AccessorType.PropertySetter;
                }
            }

            foreach (var e in methodDefinition.ContainingTypeDefinition.Events)
            {
                if (e.Adder != null && e.Adder.ResolvedMethod.InternedKey == methodDefinition.InternedKey)
                {
                    return AccessorType.EventAdder;
                }

                if (e.Remover != null && e.Remover.ResolvedMethod.InternedKey == methodDefinition.InternedKey)
                {
                    return AccessorType.EventRemover;
                }
            }

            return AccessorType.None;
        }