private Task <Document> ConvertToBlockBodiedMemberAsync(ArrowDeclaration arrowDeclaration, CodeRefactoringContext context, SyntaxNode root, CancellationToken ct) { TDeclaration newMember = BuildNewMember(arrowDeclaration); Document newDocument = context.Document.WithSyntaxRoot(root.ReplaceNode(arrowDeclaration.Declaration, newMember)); return(Task.FromResult(newDocument)); }
private TDeclaration BuildNewMember(ArrowDeclaration arrowDeclaration) { StatementSyntax statement = _handler.CreateStatement(arrowDeclaration.Arrow.Expression, arrowDeclaration.Declaration); BlockSyntax body = Block(statement).WithLeadingTrivia(SyntaxTrivia(SyntaxKind.EndOfLineTrivia, Environment.NewLine)); TDeclaration newMember = _handler.ReplaceExpressionClauseWithBody(arrowDeclaration.Declaration, body); return(newMember); }