private static MemberDeclarationSyntax GetNewDeclaration(ConversionOperatorDeclarationSyntax declaration) { return(declaration .WithExpressionBody(SyntaxFactory.ArrowExpressionClause(GetExpression(declaration.Body))) .WithBody(null) .WithSemicolonToken(SyntaxFactory.Token(SyntaxKind.SemicolonToken))); }
private static async Task<Document> ReplaceWithExpressionBodiedMember(Document document, ConversionOperatorDeclarationSyntax declaration, CancellationToken cancellationToken) { var newDeclaration = declaration .WithExpressionBody(SyntaxFactory.ArrowExpressionClause(GetExpression(declaration.Body))) .WithBody(null) .WithSemicolonToken(GetSemicolon(declaration.Body)) .WithAdditionalAnnotations(Formatter.Annotation); var root = await document.GetSyntaxRootAsync(cancellationToken); var newRoot = root.ReplaceNode(declaration, newDeclaration); return document.WithSyntaxRoot(newRoot); }