internal static Task <Document> ReplaceMembersAsync( this Document document, MemberDeclarationListInfo info, SyntaxList <MemberDeclarationSyntax> newMembers, CancellationToken cancellationToken = default(CancellationToken)) { return(document.ReplaceNodeAsync( info.Parent, info.WithMembers(newMembers).Parent, cancellationToken)); }
private static Task <Document> RefactorAsync( Document document, MemberDeclarationSyntax declaration, List <MemberDeclarationSyntax> assignableMembers, CancellationToken cancellationToken = default(CancellationToken)) { MemberDeclarationListInfo info = SyntaxInfo.MemberDeclarationListInfo(GetContainingDeclaration(declaration)); SyntaxList <MemberDeclarationSyntax> newMembers = MemberDeclarationInserter.Default.Insert(info.Members, CreateConstructor(GetConstructorIdentifierText(info.Parent), assignableMembers)); SyntaxNode newNode = info.WithMembers(newMembers).Parent.WithFormatterAnnotation(); return(document.ReplaceNodeAsync(info.Parent, newNode, cancellationToken)); }
public static Task <Document> RefactorAsync( Document document, MemberDeclarationSyntax member, CancellationToken cancellationToken = default) { MemberDeclarationListInfo info = SyntaxInfo.MemberDeclarationListInfo(member); SyntaxNode newNode = info .WithMembers(default(SyntaxList <MemberDeclarationSyntax>)) .Parent .WithFormatterAnnotation(); return(document.ReplaceNodeAsync(info.Parent, newNode, cancellationToken)); }
/// <summary> /// Creates a new document with the specified members replaced with new members. /// </summary> /// <param name="document"></param> /// <param name="info"></param> /// <param name="newMembers"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public static Task <Document> ReplaceMembersAsync( this Document document, MemberDeclarationListInfo info, SyntaxList <MemberDeclarationSyntax> newMembers, CancellationToken cancellationToken = default) { if (document == null) { throw new ArgumentNullException(nameof(document)); } return(document.ReplaceNodeAsync( info.Parent, info.WithMembers(newMembers).Parent, cancellationToken)); }