[Mono-docs-list] Patch to change the BindingFlags used by ecma-provider

Miguel de Icaza miguel@ximian.com
27 Jul 2003 17:48:30 -0400


> As a friend of mine Jon Kessler was working on some Gtk# docs he noted
> that every enum was marked as having two unimplemented methods. I took a
> look into this and noticed that when we look for methods we look at both
> private methods and methods that are inherited.
> It turns out that two members of System.Enumeration are marked as TODO.
> However, these are *not* showed as methods of the class on the tree.
> This patch makes sure that we only count methods that are shown on the
> tree as unfinished. I think it makes the interface less confusing.

The story is a bit more complex though.  Public and NonPublic are
pretty broad flags with little precision.

What you want to do is keep the Public | NonPublic state, but later
check manually if you are dealing with a MethodInfo, and if you are, then do:

	MethodAttributes ma = method_info.Attributes & MethodAttributes.MemberAccessMask;

And then do:

	if (ma == MethodAttributes.Family ||
	    ma == MethodAttributes.FamOrAssem ||
	    ma == MethodAttributes.Public)

		.. its public.