提交 7607264f 编写于 作者: J jnm2

Remove unused parameters

上级 7d77e961
......@@ -6,7 +6,6 @@
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Options;
namespace Microsoft.CodeAnalysis.CSharp.UseExpressionBody
{
......@@ -52,10 +51,9 @@ protected override IndexerDeclarationSyntax WithBody(IndexerDeclarationSyntax de
throw new InvalidOperationException();
}
protected override IndexerDeclarationSyntax WithGenerateBody(
SemanticModel semanticModel, IndexerDeclarationSyntax declaration, OptionSet options, ParseOptions parseOptions)
protected override IndexerDeclarationSyntax WithGenerateBody(SemanticModel semanticModel, IndexerDeclarationSyntax declaration)
{
return WithAccessorList(semanticModel, declaration, options, parseOptions);
return WithAccessorList(semanticModel, declaration);
}
protected override bool CreateReturnStatementForExpression(SemanticModel semanticModel, IndexerDeclarationSyntax declaration) => true;
......
......@@ -6,7 +6,6 @@
using Microsoft.CodeAnalysis.CSharp.CodeStyle;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Options;
namespace Microsoft.CodeAnalysis.CSharp.UseExpressionBody
{
......@@ -52,11 +51,9 @@ protected override PropertyDeclarationSyntax WithBody(PropertyDeclarationSyntax
throw new InvalidOperationException();
}
protected override PropertyDeclarationSyntax WithGenerateBody(
SemanticModel semanticModel, PropertyDeclarationSyntax declaration,
OptionSet options, ParseOptions parseOptions)
protected override PropertyDeclarationSyntax WithGenerateBody(SemanticModel semanticModel, PropertyDeclarationSyntax declaration)
{
return WithAccessorList(semanticModel, declaration, options, parseOptions);
return WithAccessorList(semanticModel, declaration);
}
protected override bool CreateReturnStatementForExpression(SemanticModel semanticModel, PropertyDeclarationSyntax declaration) => true;
......
......@@ -20,7 +20,7 @@ internal abstract class UseExpressionBodyHelper
public abstract bool CanOfferUseExpressionBody(OptionSet optionSet, SyntaxNode declaration, bool forAnalyzer);
public abstract (bool canOffer, bool fixesError) CanOfferUseBlockBody(OptionSet optionSet, SyntaxNode declaration, bool forAnalyzer);
public abstract SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, OptionSet options, ParseOptions parseOptions, bool useExpressionBody);
public abstract SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody);
public abstract Location GetDiagnosticLocation(SyntaxNode declaration);
......
......@@ -69,8 +69,8 @@ public override bool CanOfferUseExpressionBody(OptionSet optionSet, SyntaxNode d
public override (bool canOffer, bool fixesError) CanOfferUseBlockBody(OptionSet optionSet, SyntaxNode declaration, bool forAnalyzer)
=> CanOfferUseBlockBody(optionSet, (TDeclaration)declaration, forAnalyzer);
public sealed override SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, OptionSet options, ParseOptions parseOptions, bool useExpressionBody)
=> Update(semanticModel, (TDeclaration)declaration, options, parseOptions, useExpressionBody);
public sealed override SyntaxNode Update(SemanticModel semanticModel, SyntaxNode declaration, bool useExpressionBody)
=> Update(semanticModel, (TDeclaration)declaration, useExpressionBody);
public override Location GetDiagnosticLocation(SyntaxNode declaration)
=> GetDiagnosticLocation((TDeclaration)declaration);
......@@ -206,9 +206,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
return (canOffer, fixesError: false);
}
public TDeclaration Update(
SemanticModel semanticModel, TDeclaration declaration, OptionSet options,
ParseOptions parseOptions, bool useExpressionBody)
public TDeclaration Update(SemanticModel semanticModel, TDeclaration declaration, bool useExpressionBody)
{
if (useExpressionBody)
{
......@@ -231,7 +229,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
{
return WithSemicolonToken(
WithExpressionBody(
WithGenerateBody(semanticModel, declaration, options, parseOptions),
WithGenerateBody(semanticModel, declaration),
expressionBody: null),
default);
}
......@@ -249,8 +247,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
protected abstract TDeclaration WithExpressionBody(TDeclaration declaration, ArrowExpressionClauseSyntax expressionBody);
protected abstract TDeclaration WithBody(TDeclaration declaration, BlockSyntax body);
protected virtual TDeclaration WithGenerateBody(
SemanticModel semanticModel, TDeclaration declaration, OptionSet options, ParseOptions parseOptions)
protected virtual TDeclaration WithGenerateBody(SemanticModel semanticModel, TDeclaration declaration)
{
var expressionBody = GetExpressionBody(declaration);
......@@ -265,8 +262,7 @@ protected virtual Location GetDiagnosticLocation(TDeclaration declaration)
return declaration;
}
protected TDeclaration WithAccessorList(
SemanticModel semanticModel, TDeclaration declaration, OptionSet options, ParseOptions parseOptions)
protected TDeclaration WithAccessorList(SemanticModel semanticModel, TDeclaration declaration)
{
var expressionBody = GetExpressionBody(declaration);
var semicolonToken = GetSemicolonToken(declaration);
......
......@@ -56,17 +56,16 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
SyntaxEditor editor, CancellationToken cancellationToken)
{
var semanticModel = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false);
var options = await document.GetOptionsAsync(cancellationToken).ConfigureAwait(false);
var accessorLists = new HashSet<AccessorListSyntax>();
foreach (var diagnostic in diagnostics)
{
cancellationToken.ThrowIfCancellationRequested();
AddEdits(semanticModel, editor, diagnostic, options, accessorLists, cancellationToken);
AddEdits(semanticModel, editor, diagnostic, accessorLists, cancellationToken);
}
// Ensure that if we changed any accessors that the accessor lists they're contained
// in are formatted properly as well. Do this as a last pass so that we see all
// in are formatted properly as well. Do this as a last pass so that we see all
// individual changes made to the child accessors if we're doing a fix-all.
foreach (var accessorList in accessorLists)
{
......@@ -76,16 +75,15 @@ public sealed override async Task RegisterCodeFixesAsync(CodeFixContext context)
private void AddEdits(
SemanticModel semanticModel, SyntaxEditor editor, Diagnostic diagnostic,
OptionSet options, HashSet<AccessorListSyntax> accessorLists,
HashSet<AccessorListSyntax> accessorLists,
CancellationToken cancellationToken)
{
var declarationLocation = diagnostic.AdditionalLocations[0];
var helper = _helpers.Single(h => h.DiagnosticId == diagnostic.Id);
var declaration = declarationLocation.FindNode(cancellationToken);
var useExpressionBody = diagnostic.Properties.ContainsKey(nameof(UseExpressionBody));
var parseOptions = declaration.SyntaxTree.Options;
var updatedDeclaration = helper.Update(semanticModel, declaration, options, parseOptions, useExpressionBody)
var updatedDeclaration = helper.Update(semanticModel, declaration, useExpressionBody)
.WithAdditionalAnnotations(Formatter.Annotation);
editor.ReplaceNode(declaration, updatedDeclaration);
......
......@@ -83,7 +83,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
context.RegisterRefactoring(new MyCodeAction(
helper.UseExpressionBodyTitle.ToString(),
c => UpdateDocumentAsync(
document, root, declaration, optionSet, helper,
document, root, declaration, helper,
useExpressionBody: true, cancellationToken: c)));
succeeded = true;
}
......@@ -94,7 +94,7 @@ public override async Task ComputeRefactoringsAsync(CodeRefactoringContext conte
context.RegisterRefactoring(new MyCodeAction(
helper.UseBlockBodyTitle.ToString(),
c => UpdateDocumentAsync(
document, root, declaration, optionSet, helper,
document, root, declaration, helper,
useExpressionBody: false, cancellationToken: c)));
succeeded = true;
}
......@@ -117,12 +117,11 @@ private SyntaxNode GetDeclaration(SyntaxNode node, UseExpressionBodyHelper helpe
private async Task<Document> UpdateDocumentAsync(
Document document, SyntaxNode root, SyntaxNode declaration,
OptionSet options, UseExpressionBodyHelper helper, bool useExpressionBody,
UseExpressionBodyHelper helper, bool useExpressionBody,
CancellationToken cancellationToken)
{
var parseOptions = root.SyntaxTree.Options;
var semanticModel = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false);
var updatedDeclaration = helper.Update(semanticModel, declaration, options, parseOptions, useExpressionBody);
var updatedDeclaration = helper.Update(semanticModel, declaration, useExpressionBody);
var parent = declaration is AccessorDeclarationSyntax
? declaration.Parent
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册