예제 #1
0
 public static void Analyze(SyntaxNodeAnalysisContext context, ForStatementSyntax forStatement)
 {
     if (forStatement.Declaration == null &&
         forStatement.Condition == null &&
         forStatement.Incrementors.Count == 0 &&
         forStatement.Initializers.Count == 0 &&
         !forStatement.ContainsDirectives(
             TextSpan.FromBounds(
                 forStatement.OpenParenToken.Span.End,
                 forStatement.CloseParenToken.Span.Start)))
     {
         context.ReportDiagnostic(
             DiagnosticDescriptors.AvoidUsageOfForStatementToCreateInfiniteLoop,
             forStatement.ForKeyword);
     }
 }