提交 582fe695 编写于 作者: A Alireza Habibi

Renamings.

上级 ec5566ba
......@@ -27,7 +27,7 @@ internal sealed class CSharpInvertIfCodeRefactoringProvider : AbstractInvertIfCo
SemanticModel semanticModel,
IfStatementSyntax ifStatement,
InvertIfStyle invertIfStyle,
SyntaxNode subsequenceSingleExitPointOpt,
SyntaxNode subsequentSingleExitPointOpt,
SyntaxNode negatedExpression,
CancellationToken cancellationToken)
{
......@@ -98,7 +98,7 @@ internal sealed class CSharpInvertIfCodeRefactoringProvider : AbstractInvertIfCo
return root.ReplaceNode(ifNode, updatedIf);
}
case InvertIfStyle.SwapIfBodyWithSubsequence:
case InvertIfStyle.SwapIfBodyWithSubsequentStatements:
{
var ifBody = ifNode.Statement;
......@@ -119,7 +119,7 @@ internal sealed class CSharpInvertIfCodeRefactoringProvider : AbstractInvertIfCo
return root.ReplaceNode(currentParent, updatedParent);
}
case InvertIfStyle.WithNearmostJump:
case InvertIfStyle.WithNearmostJumpStatement:
{
var newIfBody = GetNearmostAncestorJumpStatement();
var updatedIf = ifNode.WithCondition(negatedCondition)
......@@ -152,9 +152,9 @@ StatementSyntax GetNearmostAncestorJumpStatement()
}
}
case InvertIfStyle.WithSubsequenceExitPoint:
case InvertIfStyle.WithSubsequentExitPointStatement:
{
var newIfBody = (StatementSyntax)subsequenceSingleExitPointOpt;
var newIfBody = (StatementSyntax)subsequentSingleExitPointOpt;
var updatedIf = ifNode.WithCondition(negatedCondition)
.WithStatement(SyntaxFactory.Block(newIfBody));
......@@ -170,7 +170,7 @@ StatementSyntax GetNearmostAncestorJumpStatement()
return root.ReplaceNode(currentParent, updatedParent);
}
case InvertIfStyle.MoveSubsequenceToElseBody:
case InvertIfStyle.MoveSubsequentStatementsToElseBody:
{
var currentParent = ifNode.Parent;
var statements = GetStatements(currentParent);
......@@ -338,7 +338,7 @@ private static void AssertStatementRange(StatementSyntax firstStatement, Stateme
}
#endif
protected override IEnumerable<(SyntaxNode first, SyntaxNode last)> GetSubsequentStatementRange(IfStatementSyntax ifStatement)
protected override IEnumerable<(SyntaxNode first, SyntaxNode last)> GetSubsequentStatementRanges(IfStatementSyntax ifStatement)
{
StatementSyntax innerStatement = ifStatement;
foreach (var node in ifStatement.Ancestors())
......@@ -349,16 +349,18 @@ protected override IEnumerable<(SyntaxNode first, SyntaxNode last)> GetSubsequen
case SyntaxKind.Block:
if (nextStatement != null)
{
AssertStatementRange(nextStatement, ((BlockSyntax)node).Statements.Last());
yield return (nextStatement, ((BlockSyntax)node).Statements.Last());
var lastStatement = ((BlockSyntax)node).Statements.Last();
AssertStatementRange(nextStatement, lastStatement);
yield return (nextStatement, lastStatement);
}
break;
case SyntaxKind.SwitchSection:
if (nextStatement != null)
{
AssertStatementRange(nextStatement, ((SwitchSectionSyntax)node).Statements.Last());
yield return (nextStatement, ((SwitchSectionSyntax)node).Statements.Last());
var lastStatement = ((SwitchSectionSyntax)node).Statements.Last();
AssertStatementRange(nextStatement, lastStatement);
yield return (nextStatement, lastStatement);
}
yield break;
......
......@@ -56,7 +56,7 @@ public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContex
}
var document = context.Document;
SyntaxNode subsequenceSingleExitPointOpt = null;
SyntaxNode subsequentSingleExitPointOpt = null;
InvertIfStyle invertIfStyle;
if (IsElselessIfStatement(ifStatement))
......@@ -64,7 +64,7 @@ public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContex
invertIfStyle = GetInvertIfStyle(
ifStatement,
await document.GetSemanticModelAsync().ConfigureAwait(false),
ref subsequenceSingleExitPointOpt);
ref subsequentSingleExitPointOpt);
}
else
{
......@@ -74,7 +74,7 @@ public sealed override async Task ComputeRefactoringsAsync(CodeRefactoringContex
context.RegisterRefactoring(
new MyCodeAction(
GetTitle(),
c => InvertIfAsync(document, ifStatement, invertIfStyle, subsequenceSingleExitPointOpt, c)));
c => InvertIfAsync(document, ifStatement, invertIfStyle, subsequentSingleExitPointOpt, c)));
}
protected enum InvertIfStyle
......@@ -82,17 +82,17 @@ protected enum InvertIfStyle
// swap if and else
Normal,
// swap subsequent statements and if body
SwapIfBodyWithSubsequence,
SwapIfBodyWithSubsequentStatements,
// move subsequent statements to if body
MoveSubsequenceToElseBody,
MoveSubsequentStatementsToElseBody,
// invert and generete else
WithElseClause,
// invert and generate else, keep if-body empty
MoveIfBodyToElseClause,
// invert and copy the exit point statement
WithSubsequenceExitPoint,
WithSubsequentExitPointStatement,
// invert and generate return, break, continue
WithNearmostJump,
WithNearmostJumpStatement,
// just invert the condition
WithNegatedCondition,
}
......@@ -100,7 +100,7 @@ protected enum InvertIfStyle
private InvertIfStyle GetInvertIfStyle(
TIfStatementSyntax ifStatement,
SemanticModel semanticModel,
ref SyntaxNode subsequenceSingleExitPointOpt)
ref SyntaxNode subsequentSingleExitPointOpt)
{
if (IsEmptyIfBody(ifStatement))
{
......@@ -115,7 +115,7 @@ protected enum InvertIfStyle
return InvertIfStyle.WithNegatedCondition;
}
if (IsEmptySubsequence(ifStatement))
if (NoSubsequentStatements(ifStatement))
{
// No statements if-statement, return with nearmost jump-statement
//
......@@ -134,7 +134,7 @@ protected enum InvertIfStyle
// Body();
// }
//
return InvertIfStyle.WithNearmostJump;
return InvertIfStyle.WithNearmostJumpStatement;
}
AnalyzeIfBodyControlFlow(
......@@ -142,12 +142,12 @@ protected enum InvertIfStyle
out var ifBodyEndPointIsReachable,
out var ifBodySingleExitPointOpt);
AnalyzeSubsequenceControlFlow(
AnalyzeSubsequentControlFlow(
semanticModel, ifStatement,
out var subsequenceEndPontIsReachable,
out subsequenceSingleExitPointOpt);
out var subsequentEndPontIsReachable,
out subsequentSingleExitPointOpt);
if (subsequenceEndPontIsReachable)
if (subsequentEndPontIsReachable)
{
if (ifBodyEndPointIsReachable)
{
......@@ -159,7 +159,7 @@ protected enum InvertIfStyle
SubsequentStatementsAreInTheSameBlock(ifStatement) &&
ifBodySingleExitPointOpt?.RawKind == GetNearmostParentJumpStatementRawKind(ifStatement))
{
return InvertIfStyle.MoveSubsequenceToElseBody;
return InvertIfStyle.MoveSubsequentStatementsToElseBody;
}
else
{
......@@ -171,10 +171,10 @@ protected enum InvertIfStyle
{
if (ifBodyEndPointIsReachable)
{
if (subsequenceSingleExitPointOpt != null &&
SingleSubsequenceStatement(ifStatement))
if (subsequentSingleExitPointOpt != null &&
SingleSubsequentStatement(ifStatement))
{
return InvertIfStyle.WithSubsequenceExitPoint;
return InvertIfStyle.WithSubsequentExitPointStatement;
}
else
{
......@@ -185,7 +185,7 @@ protected enum InvertIfStyle
{
if (SubsequentStatementsAreInTheSameBlock(ifStatement))
{
return InvertIfStyle.SwapIfBodyWithSubsequence;
return InvertIfStyle.SwapIfBodyWithSubsequentStatements;
}
else
{
......@@ -195,9 +195,9 @@ protected enum InvertIfStyle
}
}
private bool IsEmptySubsequence(TIfStatementSyntax ifStatement)
private bool NoSubsequentStatements(TIfStatementSyntax ifStatement)
{
foreach (var range in GetSubsequentStatementRange(ifStatement))
foreach (var range in GetSubsequentStatementRanges(ifStatement))
{
if (!IsEmptyStatementRange(range))
{
......@@ -219,9 +219,9 @@ private bool SingleIfBodyStatement(TIfStatementSyntax ifStatement)
return range.first == range.last;
}
private bool SingleSubsequenceStatement(TIfStatementSyntax ifStatement)
private bool SingleSubsequentStatement(TIfStatementSyntax ifStatement)
{
using (var e = GetSubsequentStatementRange(ifStatement).GetEnumerator())
using (var e = GetSubsequentStatementRanges(ifStatement).GetEnumerator())
{
return e.MoveNext() && e.Current.first == e.Current.last && !e.MoveNext();
}
......@@ -231,7 +231,7 @@ private bool SingleSubsequenceStatement(TIfStatementSyntax ifStatement)
Document document,
TIfStatementSyntax ifStatement,
InvertIfStyle invertIfStyle,
SyntaxNode subsequenceSingleExitPointOpt,
SyntaxNode subsequentSingleExitPointOpt,
CancellationToken cancellationToken)
{
var semanticModel = await document.GetSemanticModelAsync(cancellationToken).ConfigureAwait(false);
......@@ -247,25 +247,24 @@ private bool SingleSubsequenceStatement(TIfStatementSyntax ifStatement)
semanticModel,
ifStatement,
invertIfStyle,
subsequenceSingleExitPointOpt,
subsequentSingleExitPointOpt,
negatedExpression,
cancellationToken));
}
private void AnalyzeSubsequenceControlFlow(
private void AnalyzeSubsequentControlFlow(
SemanticModel semanticModel,
TIfStatementSyntax ifStatement,
out bool subsequenceEndPontIsReachable,
out SyntaxNode subsequenceSingleExitPointOpt)
out bool subsequentEndPontIsReachable,
out SyntaxNode subsequentSingleExitPointOpt)
{
subsequenceEndPontIsReachable = true;
subsequenceSingleExitPointOpt = null;
subsequentEndPontIsReachable = true;
subsequentSingleExitPointOpt = null;
foreach (var range in GetSubsequentStatementRange(ifStatement))
foreach (var range in GetSubsequentStatementRanges(ifStatement))
{
AnalyzeControlFlow(semanticModel, range, out subsequenceEndPontIsReachable, out subsequenceSingleExitPointOpt);
if (!subsequenceEndPontIsReachable)
AnalyzeControlFlow(semanticModel, range, out subsequentEndPontIsReachable, out subsequentSingleExitPointOpt);
if (!subsequentEndPontIsReachable)
{
return;
}
......@@ -298,7 +297,7 @@ private bool SingleSubsequenceStatement(TIfStatementSyntax ifStatement)
private bool SubsequentStatementsAreInTheSameBlock(TIfStatementSyntax ifStatement)
{
var (start, _) = GetSubsequentStatementRange(ifStatement).First();
var (start, _) = GetSubsequentStatementRanges(ifStatement).First();
return ifStatement.Parent == start.Parent;
}
......@@ -310,7 +309,7 @@ private bool SubsequentStatementsAreInTheSameBlock(TIfStatementSyntax ifStatemen
protected abstract bool IsEmptyStatementRange((SyntaxNode first, SyntaxNode last) range);
protected abstract (SyntaxNode first, SyntaxNode last) GetIfBodyStatementRange(TIfStatementSyntax ifStatement);
protected abstract IEnumerable<(SyntaxNode first, SyntaxNode last)> GetSubsequentStatementRange(TIfStatementSyntax ifStatement);
protected abstract IEnumerable<(SyntaxNode first, SyntaxNode last)> GetSubsequentStatementRanges(TIfStatementSyntax ifStatement);
protected abstract TextSpan GetHeaderSpan(TIfStatementSyntax ifStatement);
protected abstract string GetTitle();
......@@ -320,7 +319,7 @@ private bool SubsequentStatementsAreInTheSameBlock(TIfStatementSyntax ifStatemen
SemanticModel semanticModel,
TIfStatementSyntax ifStatement,
InvertIfStyle invertIfStyle,
SyntaxNode subsequenceSingleExitPointOpt,
SyntaxNode subsequentSingleExitPointOpt,
SyntaxNode negatedExpression,
CancellationToken cancellationToken);
......
......@@ -74,7 +74,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeRefactorings.InvertIf
Throw New NotImplementedException()
End Function
Protected Overrides Function GetSubsequentStatementRange(ifStatement As MultiLineIfBlockSyntax) As IEnumerable(Of (first As SyntaxNode, last As SyntaxNode))
Protected Overrides Function GetSubsequentStatementRanges(ifStatement As MultiLineIfBlockSyntax) As IEnumerable(Of (first As SyntaxNode, last As SyntaxNode))
Throw New NotImplementedException()
End Function
......
......@@ -125,7 +125,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.CodeRefactorings.InvertIf
Throw New NotImplementedException()
End Function
Protected Overrides Function GetSubsequentStatementRange(ifStatement As SingleLineIfStatementSyntax) As IEnumerable(Of (first As SyntaxNode, last As SyntaxNode))
Protected Overrides Function GetSubsequentStatementRanges(ifStatement As SingleLineIfStatementSyntax) As IEnumerable(Of (first As SyntaxNode, last As SyntaxNode))
Throw New NotImplementedException()
End Function
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册