Beispiel #1
0
    public InterfaceTypeExtension Create(IDescriptorContext context, InterfaceTypeExtensionNode node)
    {
        var preserveSyntaxNodes = context.Options.PreserveSyntaxNodes;

        var typeDefinition = new InterfaceTypeDefinition(node.Name.Value);

        typeDefinition.BindTo = node.GetBindingValue();

        foreach (NamedTypeNode typeNode in node.Interfaces)
        {
            typeDefinition.Interfaces.Add(TypeReference.Create(typeNode));
        }

        SdlToTypeSystemHelper.AddDirectives(typeDefinition, node);

        DeclareFields(typeDefinition, node.Fields, preserveSyntaxNodes);

        return(InterfaceTypeExtension.CreateUnsafe(typeDefinition));
    }