public override InternalSyntaxNode Visit(InternalSyntaxNode node)
        {
            if (node != null)
            {
                if (!_foundOldToken)
                {
                    var token = node as InternalSyntaxToken;
                    if (token != null)
                    {
                        Debug.Assert(token == _oldToken);
                        _foundOldToken = true;
                        return(_newToken); // NB: diagnostic offsets have already been updated (by SyntaxParser.AddSkippedSyntax)
                    }

                    return(UpdateDiagnosticOffset(base.Visit(node), _diagnosticOffsetDelta));
                }
            }

            return(node);
        }
Exemplo n.º 2
0
        public override InternalSyntaxNode Visit(InternalSyntaxNode node)
        {
            if (node != null && !_found)
            {
                _count--;
                if (_count == 0)
                {
                    var token = node as InternalSyntaxToken;
                    if (token != null)
                    {
                        Debug.Assert(token == _oldToken);
                        _found = true;
                        return(_newToken);
                    }

                    _count += CountNonNullSlots(node);
                    return(base.Visit(node));
                }
            }

            return(node);
        }
Exemplo n.º 3
0
 protected SyntaxDiagnosticInfo MakeError(InternalSyntaxNode node, ErrorCode code, params object[] args)
 {
     return(new SyntaxDiagnosticInfo(node.GetLeadingTriviaWidth(), node.Width, code, args));
 }
Exemplo n.º 4
0
 private static int CountNonNullSlots(InternalSyntaxNode node)
 {
     return(node.ChildNodesAndTokens().Count);
 }
 public GreenNode ListNode(InternalSyntaxNode node0, InternalSyntaxNode node1, InternalSyntaxNode node2)
 {
     return(Internal.SyntaxList.List(node0, node1, node2));
 }