示例#1
0
        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));
        }
示例#2
0
        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);
        }