Skip to content

Commit 41f6ff7

Browse files
authored
Merge pull request #2604 from sharwell/unnecessary-type-check
Unnecessary type check
2 parents ca1c1f8 + dc12041 commit 41f6ff7

12 files changed

+49
-73
lines changed

StyleCop.Analyzers/StyleCop.Analyzers/LayoutRules/SA1501StatementMustNotBeOnASingleLine.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,8 @@ private static void HandleCompilationStart(CompilationStartAnalysisContext conte
9797

9898
private static void HandleBlock(SyntaxNodeAnalysisContext context)
9999
{
100-
var block = context.Node as BlockSyntax;
101-
if ((block != null) &&
102-
!block.OpenBraceToken.IsMissing &&
100+
var block = (BlockSyntax)context.Node;
101+
if (!block.OpenBraceToken.IsMissing &&
103102
!block.CloseBraceToken.IsMissing &&
104103
IsPartOfStatement(block))
105104
{

StyleCop.Analyzers/StyleCop.Analyzers/LayoutRules/SA1516ElementsMustBeSeparatedByBlankLine.cs

Lines changed: 27 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -158,61 +158,52 @@ private static void HandleBasePropertyDeclaration(SyntaxNodeAnalysisContext cont
158158

159159
private static void HandleTypeDeclaration(SyntaxNodeAnalysisContext context)
160160
{
161-
var typeDeclaration = context.Node as TypeDeclarationSyntax;
161+
var typeDeclaration = (TypeDeclarationSyntax)context.Node;
162162

163-
if (typeDeclaration != null)
164-
{
165-
var members = typeDeclaration.Members;
163+
var members = typeDeclaration.Members;
166164

167-
HandleMemberList(context, members);
168-
}
165+
HandleMemberList(context, members);
169166
}
170167

171168
private static void HandleCompilationUnit(SyntaxNodeAnalysisContext context, StyleCopSettings settings)
172169
{
173-
var compilationUnit = context.Node as CompilationUnitSyntax;
170+
var compilationUnit = (CompilationUnitSyntax)context.Node;
174171

175-
if (compilationUnit != null)
176-
{
177-
var usings = compilationUnit.Usings;
178-
var members = compilationUnit.Members;
172+
var usings = compilationUnit.Usings;
173+
var members = compilationUnit.Members;
179174

180-
HandleUsings(context, usings, settings);
181-
HandleMemberList(context, members);
175+
HandleUsings(context, usings, settings);
176+
HandleMemberList(context, members);
182177

183-
if (members.Count > 0 && compilationUnit.Usings.Count > 0)
184-
{
185-
ReportIfThereIsNoBlankLine(context, usings[usings.Count - 1], members[0]);
186-
}
178+
if (members.Count > 0 && compilationUnit.Usings.Count > 0)
179+
{
180+
ReportIfThereIsNoBlankLine(context, usings[usings.Count - 1], members[0]);
181+
}
187182

188-
if (compilationUnit.Usings.Count > 0 && compilationUnit.Externs.Count > 0)
189-
{
190-
ReportIfThereIsNoBlankLine(context, compilationUnit.Externs[compilationUnit.Externs.Count - 1], compilationUnit.Usings[0]);
191-
}
183+
if (compilationUnit.Usings.Count > 0 && compilationUnit.Externs.Count > 0)
184+
{
185+
ReportIfThereIsNoBlankLine(context, compilationUnit.Externs[compilationUnit.Externs.Count - 1], compilationUnit.Usings[0]);
192186
}
193187
}
194188

195189
private static void HandleNamespaceDeclaration(SyntaxNodeAnalysisContext context, StyleCopSettings settings)
196190
{
197-
var namespaceDeclaration = context.Node as NamespaceDeclarationSyntax;
191+
var namespaceDeclaration = (NamespaceDeclarationSyntax)context.Node;
198192

199-
if (namespaceDeclaration != null)
200-
{
201-
var usings = namespaceDeclaration.Usings;
202-
var members = namespaceDeclaration.Members;
193+
var usings = namespaceDeclaration.Usings;
194+
var members = namespaceDeclaration.Members;
203195

204-
HandleUsings(context, usings, settings);
205-
HandleMemberList(context, members);
196+
HandleUsings(context, usings, settings);
197+
HandleMemberList(context, members);
206198

207-
if (members.Count > 0 && namespaceDeclaration.Usings.Count > 0)
208-
{
209-
ReportIfThereIsNoBlankLine(context, usings[usings.Count - 1], members[0]);
210-
}
199+
if (members.Count > 0 && namespaceDeclaration.Usings.Count > 0)
200+
{
201+
ReportIfThereIsNoBlankLine(context, usings[usings.Count - 1], members[0]);
202+
}
211203

212-
if (namespaceDeclaration.Usings.Count > 0 && namespaceDeclaration.Externs.Count > 0)
213-
{
214-
ReportIfThereIsNoBlankLine(context, namespaceDeclaration.Externs[namespaceDeclaration.Externs.Count - 1], namespaceDeclaration.Usings[0]);
215-
}
204+
if (namespaceDeclaration.Usings.Count > 0 && namespaceDeclaration.Externs.Count > 0)
205+
{
206+
ReportIfThereIsNoBlankLine(context, namespaceDeclaration.Externs[namespaceDeclaration.Externs.Count - 1], namespaceDeclaration.Usings[0]);
216207
}
217208
}
218209

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1119StatementMustNotUseUnnecessaryParenthesis.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ private static void HandleCompilationStart(CompilationStartAnalysisContext conte
9696

9797
private static void HandleParenthesizedExpression(SyntaxNodeAnalysisContext context)
9898
{
99-
var node = context.Node as ParenthesizedExpressionSyntax;
99+
var node = (ParenthesizedExpressionSyntax)context.Node;
100100

101-
if (node != null && node.Expression != null)
101+
if (node.Expression != null)
102102
{
103103
if (!(node.Expression is BinaryExpressionSyntax)
104104
&& !(node.Expression is AssignmentExpressionSyntax)

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1405DebugAssertMustProvideMessageText.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public override void Initialize(AnalysisContext context)
5454

5555
private static void HandleInvocationExpression(SyntaxNodeAnalysisContext context)
5656
{
57-
HandleMethodCall(context, nameof(Debug.Assert), 1, Descriptor);
57+
HandleInvocationExpression(context, nameof(Debug.Assert), 1, Descriptor);
5858
}
5959
}
6060
}

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1406DebugFailMustProvideMessageText.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public override void Initialize(AnalysisContext context)
5555
private static void HandleInvocationExpression(SyntaxNodeAnalysisContext context)
5656
{
5757
// Debug.Fail is not available in a portable library. So no nameof(Debug.Fail) here
58-
HandleMethodCall(context, "Fail", 0, Descriptor);
58+
HandleInvocationExpression(context, "Fail", 0, Descriptor);
5959
}
6060
}
6161
}

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1410RemoveDelegateParenthesisWhenPossible.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,7 @@ public override void Initialize(AnalysisContext context)
6363

6464
private static void HandleAnonymousMethodExpression(SyntaxNodeAnalysisContext context)
6565
{
66-
AnonymousMethodExpressionSyntax syntax = context.Node as AnonymousMethodExpressionSyntax;
67-
if (syntax == null)
68-
{
69-
return;
70-
}
66+
var syntax = (AnonymousMethodExpressionSyntax)context.Node;
7167

7268
// ignore if no parameter list exists
7369
if (syntax.ParameterList == null)

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SystemDiagnosticsDebugDiagnosticBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ internal abstract class SystemDiagnosticsDebugDiagnosticBase : DiagnosticAnalyze
2222
/// <param name="methodName">The method name that should be detected</param>
2323
/// <param name="parameterIndex">The index, the string parameter that should be checked, is at</param>
2424
/// <param name="descriptor">The descriptor of the diagnostic that should be added</param>
25-
protected internal static void HandleMethodCall(SyntaxNodeAnalysisContext context, string methodName, int parameterIndex, DiagnosticDescriptor descriptor)
25+
protected internal static void HandleInvocationExpression(SyntaxNodeAnalysisContext context, string methodName, int parameterIndex, DiagnosticDescriptor descriptor)
2626
{
27-
var invocationExpressionSyntax = context.Node as InvocationExpressionSyntax;
28-
var memberAccessExpressionSyntax = invocationExpressionSyntax?.Expression as MemberAccessExpressionSyntax;
29-
var identifierNameSyntax = invocationExpressionSyntax?.Expression as IdentifierNameSyntax;
27+
var invocationExpressionSyntax = (InvocationExpressionSyntax)context.Node;
28+
var memberAccessExpressionSyntax = invocationExpressionSyntax.Expression as MemberAccessExpressionSyntax;
29+
var identifierNameSyntax = invocationExpressionSyntax.Expression as IdentifierNameSyntax;
3030
var name = memberAccessExpressionSyntax?.Name?.Identifier.ValueText ?? identifierNameSyntax?.Identifier.ValueText;
3131
if (name == methodName)
3232
{

StyleCop.Analyzers/StyleCop.Analyzers/NamingRules/SA1311StaticReadonlyFieldsMustBeginWithUpperCaseLetter.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,7 @@ public override void Initialize(AnalysisContext context)
5050

5151
private static void HandleFieldDeclaration(SyntaxNodeAnalysisContext context)
5252
{
53-
var fieldDeclaration = context.Node as FieldDeclarationSyntax;
54-
if (fieldDeclaration == null)
55-
{
56-
return;
57-
}
53+
var fieldDeclaration = (FieldDeclarationSyntax)context.Node;
5854

5955
if (!fieldDeclaration.Modifiers.Any(SyntaxKind.StaticKeyword) ||
6056
!fieldDeclaration.Modifiers.Any(SyntaxKind.ReadOnlyKeyword))

StyleCop.Analyzers/StyleCop.Analyzers/OrderingRules/SA1208SystemUsingDirectivesMustBePlacedBeforeOtherUsingDirectives.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private static void HandleCompilationUnit(SyntaxNodeAnalysisContext context, Sty
6262
return;
6363
}
6464

65-
var compilationUnit = context.Node as CompilationUnitSyntax;
65+
var compilationUnit = (CompilationUnitSyntax)context.Node;
6666

6767
var usings = compilationUnit.Usings;
6868

@@ -76,7 +76,7 @@ private static void HandleNamespaceDeclaration(SyntaxNodeAnalysisContext context
7676
return;
7777
}
7878

79-
var namespaceDeclaration = context.Node as NamespaceDeclarationSyntax;
79+
var namespaceDeclaration = (NamespaceDeclarationSyntax)context.Node;
8080

8181
var usings = namespaceDeclaration.Usings;
8282

StyleCop.Analyzers/StyleCop.Analyzers/OrderingRules/SA1209UsingAliasDirectivesMustBePlacedAfterOtherUsingDirectives.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,14 @@ public override void Initialize(AnalysisContext context)
5555

5656
private static void HandleCompilationUnit(SyntaxNodeAnalysisContext context)
5757
{
58-
var compilationUnit = context.Node as CompilationUnitSyntax;
58+
var compilationUnit = (CompilationUnitSyntax)context.Node;
5959

6060
ProcessUsingsAndReportDiagnostic(compilationUnit.Usings, context);
6161
}
6262

6363
private static void HandleNamespaceDeclaration(SyntaxNodeAnalysisContext context)
6464
{
65-
var namespaceDeclaration = context.Node as NamespaceDeclarationSyntax;
65+
var namespaceDeclaration = (NamespaceDeclarationSyntax)context.Node;
6666

6767
ProcessUsingsAndReportDiagnostic(namespaceDeclaration.Usings, context);
6868
}

0 commit comments

Comments
 (0)