protected virtual void CompleteFields()
        {
            var fields         = new Dictionary <string, InterfaceFieldDescription>();
            var handledMembers = new HashSet <MemberInfo>();

            foreach (InterfaceFieldDescriptor fieldDescriptor in Fields)
            {
                InterfaceFieldDescription fieldDescription = fieldDescriptor
                                                             .CreateDescription();

                if (!fieldDescription.Ignored)
                {
                    fields[fieldDescription.Name] = fieldDescription;
                }

                if (fieldDescription.ClrMember != null)
                {
                    handledMembers.Add(fieldDescription.ClrMember);
                }
            }

            OnCompleteFields(fields, handledMembers);

            InterfaceDescription.Fields.AddRange(fields.Values);
        }
예제 #2
0
 internal InterfaceField(InterfaceFieldDescription fieldDescription)
     : base(fieldDescription)
 {
     SyntaxNode = fieldDescription.SyntaxNode;
     Arguments  = new FieldCollection <InputField>(
         fieldDescription.Arguments.Select(t => new InputField(t)));
     IsDeprecated      = !string.IsNullOrEmpty(fieldDescription.DeprecationReason);
     DeprecationReason = fieldDescription.DeprecationReason;
 }
예제 #3
0
 internal InterfaceField(InterfaceFieldDescription fieldDescription)
     : base(fieldDescription)
 {
 }