Skip to content

Commit

Permalink
Fix code style
Browse files Browse the repository at this point in the history
  • Loading branch information
Josef Pihrt committed Apr 21, 2023
1 parent 74b1b88 commit 610dc14
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ public static bool AnyDeclaredVariablesMatch(PatternSyntax pattern, ImmutableHas
{
RecursivePatternSyntax { PositionalPatternClause: var positionalPatternClause, PropertyPatternClause: var propertyPatternClause, Designation: var designation } =>
(designation is not null && AnyDeclaredVariablesMatch(designation, variableNames))
|| (propertyPatternClause?.Subpatterns.Any(p => AnyDeclaredVariablesMatch(p.Pattern, variableNames)) ?? false)
|| (positionalPatternClause?.Subpatterns.Any(p => AnyDeclaredVariablesMatch(p.Pattern, variableNames)) ?? false),
|| (propertyPatternClause?.Subpatterns.Any(p => AnyDeclaredVariablesMatch(p.Pattern, variableNames)) ?? false)
|| (positionalPatternClause?.Subpatterns.Any(p => AnyDeclaredVariablesMatch(p.Pattern, variableNames)) ?? false),
BinaryPatternSyntax binaryPattern =>
AnyDeclaredVariablesMatch(binaryPattern.Left, variableNames)
|| AnyDeclaredVariablesMatch(binaryPattern.Right, variableNames),
|| AnyDeclaredVariablesMatch(binaryPattern.Right, variableNames),
ParenthesizedPatternSyntax parenthesizedPattern => AnyDeclaredVariablesMatch(parenthesizedPattern.Pattern, variableNames),
DeclarationPatternSyntax { Designation: var variableDesignation } => AnyDeclaredVariablesMatch(variableDesignation, variableNames),
VarPatternSyntax { Designation: var variableDesignation } => AnyDeclaredVariablesMatch(variableDesignation, variableNames),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ private static bool LocallyDeclaredVariablesOverlapWithAnyOtherSwitchSections(Sw
if (otherSection.Span.Contains(switchBlock.Span))
continue;

foreach (var label in otherSection.Labels)
foreach (SwitchLabelSyntax label in otherSection.Labels)
{
if (label is not CasePatternSwitchLabelSyntax casePatternSwitchLabel)
continue;
Expand All @@ -133,9 +133,9 @@ private static bool LocallyDeclaredVariablesOverlapWithAnyOtherSwitchSections(Sw
return true;
}

foreach (var statement in otherSection.Statements)
foreach (StatementSyntax statement in otherSection.Statements)
{
foreach (var symbol in semanticModel.AnalyzeDataFlow(statement)!.VariablesDeclared)
foreach (ISymbol symbol in semanticModel.AnalyzeDataFlow(statement)!.VariablesDeclared)
{
if (sectionDeclaredVariablesNames.Contains(symbol.Name))
return true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (c) Josef Pihrt and Contributors. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using System.Collections.Immutable;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
Expand All @@ -13,12 +14,12 @@ public static bool DoDeclaredVariablesOverlapWithOuterScope(
SemanticModel semanticModel
)
{
var ifVariablesDeclared = semanticModel.AnalyzeDataFlow(ifStatement)!
ImmutableArray<ISymbol> ifVariablesDeclared = semanticModel.AnalyzeDataFlow(ifStatement)!
.VariablesDeclared;

if (ifVariablesDeclared.IsEmpty)
return false;

foreach (StatementSyntax statement in SyntaxInfo.StatementListInfo(ifStatement).Statements)
{
if (statement == ifStatement)
Expand All @@ -36,4 +37,4 @@ SemanticModel semanticModel

return false;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -328,5 +328,3 @@ void M()
");
}
}


3 changes: 0 additions & 3 deletions src/Tests/Analyzers.Tests/RCS1208ReduceIfNestingTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,6 @@ void M2()
");
}


[Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.ReduceIfNesting)]
public async Task Test_WhenParentIsLocalFunction()
{
Expand Down Expand Up @@ -410,7 +409,6 @@ void M2()
");
}


[Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.ReduceIfNesting)]
public async Task TestNoDiagnostic_OverlappingLocalVariables_WhenParentIsConversionOperator()
{
Expand Down Expand Up @@ -501,7 +499,6 @@ void M2()
");
}


[Fact, Trait(Traits.Analyzer, DiagnosticIdentifiers.ReduceIfNesting)]
public async Task TestNoDiagnostic_OverlappingLocalVariables_WhenParentIsLocalFunction()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public void SingleVariableDesignation()
VariableDesignationSyntax designation = SyntaxFactory.SingleVariableDesignation(
SyntaxFactory.Identifier("x")
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Expand All @@ -28,39 +28,37 @@ public void SingleVariableDesignation()
public void ParenthesizedVariableDesignation()
{
VariableDesignationSyntax designation = SyntaxFactory.ParenthesizedVariableDesignation(
SyntaxFactory.SeparatedList(new List<VariableDesignationSyntax>
SyntaxFactory.SeparatedList(new List<VariableDesignationSyntax>()
{
SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("x")),
SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("y"))
})
);

var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));

vars = new HashSet<string>() { "y" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));

}

[Fact]
public void DiscardDesignation()
{
VariableDesignationSyntax designation = SyntaxFactory.DiscardDesignation();
var vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));
}

[Fact]
public void NullTest()
{
VariableDesignationSyntax designation = null;
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(designation, vars));

}

[Fact]
Expand All @@ -70,7 +68,7 @@ public void DeclarationPattern()
SyntaxFactory.PredefinedType(SyntaxFactory.Token(SyntaxKind.IntKeyword)),
SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("x"))
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Expand All @@ -83,7 +81,7 @@ public void RecursivePattern_WithPositional()
PatternSyntax pattern = SyntaxFactory.RecursivePattern(
SyntaxFactory.IdentifierName("TypeA"),
positionalPatternClause: SyntaxFactory.PositionalPatternClause(
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>()
{
SyntaxFactory.Subpattern(
SyntaxFactory.DeclarationPattern(
Expand All @@ -103,7 +101,7 @@ public void RecursivePattern_WithPositional()
designation: default
);

var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "y" }.ToImmutableHashSet();
Expand All @@ -120,7 +118,7 @@ public void RecursivePattern_WithProperty()
SyntaxFactory.IdentifierName("TypeA"),
positionalPatternClause: default,
propertyPatternClause: SyntaxFactory.PropertyPatternClause(
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>()
{
SyntaxFactory.Subpattern(
SyntaxFactory.NameColon(SyntaxFactory.IdentifierName("PropertyName")),
Expand All @@ -132,7 +130,7 @@ public void RecursivePattern_WithProperty()
),
designation: default
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Expand All @@ -146,7 +144,7 @@ public void RecursivePattern_WithDesignation()
SyntaxFactory.IdentifierName("TypeA"),
positionalPatternClause: default,
propertyPatternClause: SyntaxFactory.PropertyPatternClause(
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>
SyntaxFactory.SeparatedList(new List<SubpatternSyntax>()
{
SyntaxFactory.Subpattern(
SyntaxFactory.NameColon(SyntaxFactory.IdentifierName("PropertyName")),
Expand All @@ -156,12 +154,11 @@ public void RecursivePattern_WithDesignation()
),
designation: SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("x"))
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

}

[Fact]
Expand All @@ -170,12 +167,11 @@ public void VarPattern()
PatternSyntax pattern = SyntaxFactory.VarPattern(
SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("x"))
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

}

[Fact]
Expand All @@ -186,7 +182,7 @@ public void BinaryPattern()
SyntaxFactory.ConstantPattern(SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(42))),
SyntaxFactory.ConstantPattern(SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(99)))
);
var vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));
}

Expand All @@ -198,10 +194,10 @@ public void ParenthesizedPattern()
SyntaxFactory.SingleVariableDesignation(SyntaxFactory.Identifier("x"))
)
);
var vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
ImmutableHashSet<string> vars = new HashSet<string>() { "x" }.ToImmutableHashSet();
Assert.True(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));

vars = new HashSet<string>() { "z" }.ToImmutableHashSet();
Assert.False(PatternMatchingVariableDeclarationHelper.AnyDeclaredVariablesMatch(pattern, vars));
}
}
}

0 comments on commit 610dc14

Please sign in to comment.