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); }
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); }
protected SyntaxDiagnosticInfo MakeError(InternalSyntaxNode node, ErrorCode code, params object[] args) { return(new SyntaxDiagnosticInfo(node.GetLeadingTriviaWidth(), node.Width, code, args)); }
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)); }