示例#1
0
    protected override void OnCompleteType(
        ITypeCompletionContext context,
        InterfaceTypeDefinition definition)
    {
        base.OnCompleteType(context, definition);

        SyntaxNode = definition.SyntaxNode;
        Fields     = OnCompleteFields(context, definition);

        CompleteAbstractTypeResolver(context, definition.ResolveAbstractType);
        _implements = CompleteInterfaces(context, definition.GetInterfaces(), this);
    }
        public static void RegisterDependencies(
            this ITypeDiscoveryContext context,
            InterfaceTypeDefinition definition)
        {
            if (context is null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (definition is null)
            {
                throw new ArgumentNullException(nameof(definition));
            }

            context.RegisterDependencyRange(
                definition.GetInterfaces(),
                TypeDependencyKind.Completed);

            RegisterAdditionalDependencies(context, definition);
            RegisterDirectiveDependencies(context, definition);
            RegisterFieldDependencies(context, definition.Fields);
        }