public void PushChildren(SyntaxNode node, Func <SyntaxNode, bool> descendIntoChildren)
 {
     if (descendIntoChildren == null || descendIntoChildren(node))
     {
         nodeStack.PushChildren(node);
         discriminatorStack.Push(Which.Node);
     }
 }
Exemple #2
0
            public TwoEnumeratorListStack(SyntaxNode startingNode, Func <SyntaxNode, bool> descendIntoChildren)
            {
                _nodeStack   = new ChildSyntaxListEnumeratorStack(startingNode, descendIntoChildren);
                _triviaStack = new TriviaListEnumeratorStack();
                if (_nodeStack.IsNotEmpty)
                {
                    _discriminatorStack = ArrayBuilder <Which> .GetInstance();

                    _discriminatorStack.Push(Which.Node);
                }
                else
                {
                    _discriminatorStack = null;
                }
            }
 public void PushToken(ref SyntaxNodeOrToken value)
 {
     tokenStack.Push(value);
     discriminatorStack.Push(Which.Token);
 }