protected override async Task <SemanticDocument> ExpandAsync( SelectionResult selection, CancellationToken cancellationToken ) { var lastExpression = selection .GetFirstTokenInSelection() .GetCommonRoot(selection.GetLastTokenInSelection()) .GetAncestors <ExpressionSyntax>() .LastOrDefault(); if (lastExpression == null) { return(selection.SemanticDocument); } var newExpression = await Simplifier .ExpandAsync( lastExpression, selection.SemanticDocument.Document, n => n != selection.GetContainingScope(), expandParameter : false, cancellationToken : cancellationToken ) .ConfigureAwait(false); return(await selection.SemanticDocument .WithSyntaxRootAsync( selection.SemanticDocument.Root.ReplaceNode(lastExpression, newExpression), cancellationToken ) .ConfigureAwait(false)); }
protected override async Task<SemanticDocument> ExpandAsync(SelectionResult selection, CancellationToken cancellationToken) { var lastExpression = selection.GetFirstTokenInSelection().GetCommonRoot(selection.GetLastTokenInSelection()).GetAncestors<ExpressionSyntax>().LastOrDefault(); if (lastExpression == null) { return selection.SemanticDocument; } var newExpression = await Simplifier.ExpandAsync(lastExpression, selection.SemanticDocument.Document, n => n != selection.GetContainingScope(), expandParameter: false, cancellationToken: cancellationToken).ConfigureAwait(false); return await selection.SemanticDocument.WithSyntaxRootAsync(selection.SemanticDocument.Root.ReplaceNode(lastExpression, newExpression), cancellationToken).ConfigureAwait(false); }