예제 #1
0
        protected override void VisitInlineFragment(InlineFragmentNode node)
        {
            _writer.WriteIndentation();

            _writer.Write("...");

            if (node.TypeCondition != null)
            {
                _writer.WriteSpace();
                _writer.Write(Keywords.On);
                _writer.WriteSpace();

                VisitNamedType(node.TypeCondition);
            }

            if (node.Directives.Any())
            {
                _writer.WriteSpace();
                WriteMany(node.Directives, VisitDirective, " ");
            }

            if (node.SelectionSet != null)
            {
                _writer.WriteSpace();
                VisitSelectionSet(node.SelectionSet);
            }
        }
예제 #2
0
        protected virtual void ResolveChildren(
            InlineFragmentNode node,
            IList <SyntaxNodeInfo> children)
        {
            if (node.TypeCondition != null)
            {
                ResolveChildren(
                    nameof(node.TypeCondition),
                    node.TypeCondition,
                    children);
            }

            if (node.Directives.Count != 0)
            {
                ResolveChildren(
                    nameof(node.Directives),
                    node.Directives,
                    children);
            }

            ResolveChildren(
                nameof(node.SelectionSet),
                node.SelectionSet,
                children);
        }
        protected override void VisitInlineFragment(
            InlineFragmentNode node,
            DocumentWriter writer)
        {
            writer.WriteIndentation();

            writer.Write("...");

            if (node.TypeCondition != null)
            {
                writer.WriteSpace();
                writer.Write(Keywords.On);
                writer.WriteSpace();

                writer.WriteNamedType(node.TypeCondition);
            }

            if (node.Directives.Any())
            {
                writer.WriteSpace();
                writer.WriteMany(node.Directives,
                                 (n, w) => w.WriteDirective(n),
                                 w => w.WriteSpace());
            }

            if (node.SelectionSet != null)
            {
                writer.WriteSpace();
                VisitSelectionSet(node.SelectionSet, writer);
            }
        }
 protected override void VisitInlineFragment(
     InlineFragmentNode node,
     object context)
 {
     VisitedInlineFragment = true;
     base.VisitInlineFragment(node, context);
 }
예제 #5
0
 public virtual VisitorAction Leave(
     InlineFragmentNode node,
     ISyntaxNode parent,
     IReadOnlyList <object> path,
     IReadOnlyList <ISyntaxNode> ancestors)
 {
     return(GetDefaultAction(node.Kind));
 }
예제 #6
0
        protected override void VisitInlineFragment(InlineFragmentNode node)
        {
            if (node.TypeCondition != null)
            {
                VisitNamedType(node.TypeCondition);
            }

            VisitMany(node.Directives, VisitDirective);
            VisitSelectionSet(node.SelectionSet);
        }
예제 #7
0
        protected virtual InlineFragmentNode RewriteInlineFragment(
            InlineFragmentNode node,
            TContext context)
        {
            InlineFragmentNode current = node;

            if (current.TypeCondition != null)
            {
                current = Rewrite(current, current.TypeCondition, context,
                                  RewriteNamedType, current.WithTypeCondition);
            }

            current = Rewrite(current, current.Directives, context,
                              (p, c) => RewriteMany(p, c, RewriteDirective),
                              current.WithDirectives);

            current = Rewrite(current, current.SelectionSet, context,
                              RewriteSelectionSet, current.WithSelectionSet);

            return(current);
        }
예제 #8
0
 protected override void VisitInlineFragment(InlineFragmentNode node)
 {
     VisitedInlineFragment = true;
     base.VisitInlineFragment(node);
 }
예제 #9
0
 protected virtual void VisitInlineFragment(InlineFragmentNode node)
 {
 }
예제 #10
0
 protected virtual void VisitInlineFragment(
     InlineFragmentNode node,
     TContext context)
 {
 }