예제 #1
0
 public IEnumerable <IMethod> GetConstructors(Predicate <IUnresolvedMethod> filter = null, GetMemberOptions options = GetMemberOptions.IgnoreInheritedMembers)
 {
     if ((options & GetMemberOptions.IgnoreInheritedMembers) == GetMemberOptions.IgnoreInheritedMembers)
     {
         if (this.HasDefaultConstructorConstraint || this.HasValueTypeConstraint)
         {
             if (filter == null || filter(MethodCore.DummyConstructor))
             {
                 return(new[] { ResolvedMethodSpec.GetDummyConstructor(compilation, this) });
             }
         }
         return(EmptyList <IMethod> .Instance);
     }
     else
     {
         return(GetMembersHelper.GetConstructors(this, filter, options));
     }
 }
예제 #2
0
        public IEnumerable <IType> GetNestedTypes(Predicate <ITypeDefinition> filter = null, GetMemberOptions options = GetMemberOptions.None)
        {
            const GetMemberOptions opt = GetMemberOptions.IgnoreInheritedMembers | GetMemberOptions.ReturnMemberDefinitions;

            if ((options & opt) == opt)
            {
                if (filter == null)
                {
                    return(this.NestedTypes);
                }
                else
                {
                    return(GetNestedTypesImpl(filter));
                }
            }
            else
            {
                return(GetMembersHelper.GetNestedTypes(this, filter, options));
            }
        }
예제 #3
0
 public IEnumerable <IType> GetNestedTypes(IList <IType> typeArguments, Predicate <ITypeDefinition> filter = null, GetMemberOptions options = GetMemberOptions.None)
 {
     return(GetMembersHelper.GetNestedTypes(this, typeArguments, filter, options));
 }
예제 #4
0
 public virtual IEnumerable <IMethod> GetMethods(IList <IType> typeArguments, Predicate <IUnresolvedMethod> filter = null, GetMemberOptions options = GetMemberOptions.None)
 {
     return(GetMembersHelper.GetMethods(this, typeArguments, filter, options));
 }