protected TNode AddLeadingSkippedSyntax <TNode>(TNode node, CSharpSyntaxNode skippedSyntax) where TNode : CSharpSyntaxNode { var oldToken = node as SyntaxToken ?? node.GetFirstToken(); var newToken = AddSkippedSyntax(oldToken, skippedSyntax, trailing: false); return(SyntaxFirstTokenReplacer.Replace(node, oldToken, newToken, skippedSyntax.FullWidth)); }
internal static TRoot Replace <TRoot>(TRoot root, SyntaxToken oldToken, SyntaxToken newToken, int diagnosticOffsetDelta) where TRoot : CSharpSyntaxNode { var replacer = new SyntaxFirstTokenReplacer(oldToken, newToken, diagnosticOffsetDelta); var newRoot = (TRoot)replacer.Visit(root); Debug.Assert(replacer._foundOldToken); return(newRoot); }