internal static MatchType Reflect(Type type) {
            MatchType matchType = new MatchType();
            matchType.type = type;

            MemberInfo[] memberInfos = type.GetMembers(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance);
            ArrayList list = new ArrayList();
            for (int i = 0; i < memberInfos.Length; i++) {
                MatchMember member = MatchMember.Reflect(memberInfos[i]);
                if (member != null) list.Add(member);
            }
            matchType.fields = (MatchMember[])list.ToArray(typeof(MatchMember));
            return matchType;
        }
 internal static MatchType Reflect(System.Type type)
 {
     MatchType type2 = new MatchType {
         type = type
     };
     MemberInfo[] members = type.GetMembers(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly);
     ArrayList list = new ArrayList();
     for (int i = 0; i < members.Length; i++)
     {
         MatchMember member = MatchMember.Reflect(members[i]);
         if (member != null)
         {
             list.Add(member);
         }
     }
     type2.fields = (MatchMember[]) list.ToArray(typeof(MatchMember));
     return type2;
 }
 /// <include file='doc\PatternMatcher.uex' path='docs/doc[@for="PatternMatcher.PatternMatcher"]/*' />
 /// <devdoc>
 ///    <para>[To be supplied.]</para>
 /// </devdoc>
 public PatternMatcher(Type type) {
     matchType = MatchType.Reflect(type);
 }