提交 9f94fadc 编写于 作者: C Cyrus Najmabadi

Simplify

上级 8b7c5a8c
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#nullable enable #nullable enable
using System; using System;
using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
...@@ -29,7 +28,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid ...@@ -29,7 +28,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid
=> _provider = provider; => _provider = provider;
protected abstract TArgumentSyntax GenerateNewArgument(TArgumentSyntax oldArgument, ITypeSymbol conversionType); protected abstract TArgumentSyntax GenerateNewArgument(TArgumentSyntax oldArgument, ITypeSymbol conversionType);
protected abstract TArgumentListSyntax GenerateNewArgumentList(TArgumentListSyntax oldArgumentList, List<TArgumentSyntax> newArguments); protected abstract TArgumentListSyntax GenerateNewArgumentList(TArgumentListSyntax oldArgumentList, ArrayBuilder<TArgumentSyntax> newArguments);
protected abstract SeparatedSyntaxList<TArgumentSyntax> GetArgumentsOfArgumentList(TArgumentListSyntax argumentList); protected abstract SeparatedSyntaxList<TArgumentSyntax> GetArgumentsOfArgumentList(TArgumentListSyntax argumentList);
protected abstract SymbolInfo GetSpeculativeSymbolInfo(SemanticModel semanticModel, TArgumentListSyntax newArgumentList); protected abstract SymbolInfo GetSpeculativeSymbolInfo(SemanticModel semanticModel, TArgumentListSyntax newArgumentList);
...@@ -129,7 +128,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid ...@@ -129,7 +128,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid
return false; return false;
var arguments = GetArgumentsOfArgumentList(argumentList); var arguments = GetArgumentsOfArgumentList(argumentList);
var newArguments = new List<TArgumentSyntax>(); using var _ = ArrayBuilder<TArgumentSyntax>.GetInstance(out var newArguments);
for (var i = 0; i < arguments.Count; i++) for (var i = 0; i < arguments.Count; i++)
{ {
...@@ -192,7 +191,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid ...@@ -192,7 +191,7 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid
return targetArgumentConversionType != null return targetArgumentConversionType != null
&& IsInvocationExpressionWithNewArgumentsApplicable( && IsInvocationExpressionWithNewArgumentsApplicable(
semanticModel, root, argumentList, newArguments, targetArgument, cancellationToken); semanticModel, root, argumentList, newArguments, targetArgument);
} }
/// <summary> /// <summary>
...@@ -208,9 +207,8 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid ...@@ -208,9 +207,8 @@ protected Fixer(AbstractAddExplicitCastCodeFixProvider<TExpressionSyntax> provid
private bool IsInvocationExpressionWithNewArgumentsApplicable(SemanticModel semanticModel, private bool IsInvocationExpressionWithNewArgumentsApplicable(SemanticModel semanticModel,
SyntaxNode root, SyntaxNode root,
TArgumentListSyntax oldArgumentList, TArgumentListSyntax oldArgumentList,
List<TArgumentSyntax> newArguments, ArrayBuilder<TArgumentSyntax> newArguments,
SyntaxNode targetNode, SyntaxNode targetNode)
CancellationToken cancellationToken)
{ {
var newRoot = root.ReplaceNode(oldArgumentList, GenerateNewArgumentList(oldArgumentList, newArguments)); var newRoot = root.ReplaceNode(oldArgumentList, GenerateNewArgumentList(oldArgumentList, newArguments));
if (newRoot.FindNode(targetNode.Span).GetAncestorOrThis<TArgumentListSyntax>() is TArgumentListSyntax newArgumentList) if (newRoot.FindNode(targetNode.Span).GetAncestorOrThis<TArgumentListSyntax>() is TArgumentListSyntax newArgumentList)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册