Microsoft.JScript.JSMemberField.AddOverloadedMembers C# (CSharp) Метод

AddOverloadedMembers() приватный Метод

private AddOverloadedMembers ( MemberInfoList mems, ClassScope scope, BindingFlags attrs ) : void
mems MemberInfoList
scope ClassScope
attrs BindingFlags
Результат void
      internal void AddOverloadedMembers(MemberInfoList mems, ClassScope scope, BindingFlags attrs){
        JSMemberField field = this;
        while (field != null){
          MethodInfo meth = ((JSMemberField)field).GetAsMethod(scope);
          if (meth.IsStatic){
            if ((attrs & BindingFlags.Static) == 0) goto next;
          }else{
            if ((attrs & BindingFlags.Instance) == 0) goto next;
          }
          if (meth.IsPublic){
            if ((attrs & BindingFlags.Public) == 0) goto next;
          }else{
            if ((attrs & BindingFlags.NonPublic) == 0) goto next;
          }
          mems.Add(meth);
        next:
          field = field.nextOverload;
        }
        if ((attrs & BindingFlags.DeclaredOnly) != 0 && (attrs&BindingFlags.FlattenHierarchy) == 0) return;
        IReflect superClass = scope.GetSuperType();
        MemberInfo[] supMembers = superClass.GetMember(this.Name, attrs&~BindingFlags.DeclaredOnly);
        foreach (MemberInfo supMember in supMembers)
          if (supMember.MemberType == MemberTypes.Method)
            mems.Add(supMember);
      }