Example #1
0
 private IEnumerable <SyntaxNode> VisitForEachBlock(ForEachBlockSyntax node)
 {
     if (!node.Statements.Any() && NoCommentsBefore(node.NextStatement))
     {
         yield return(node.ForEachStatement);
     }
 }
 public override void VisitForEachBlock(ForEachBlockSyntax node) =>
 counter.CheckNesting(node.ForEachStatement.ForKeyword, () => base.VisitForEachBlock(node));
Example #3
0
 public override void VisitForEachBlock(ForEachBlockSyntax node)
 {
     State.IncreaseComplexityByNestingPlusOne(node.ForEachStatement.ForKeyword);
     State.VisitWithNesting(node, base.VisitForEachBlock);
 }
Example #4
0
 public override void VisitForEachBlock(ForEachBlockSyntax node)
 {
     LogicalLineCount++;
     base.VisitForEachBlock(node);
 }
        private static async Task <ILocalSymbol> GetLoopVariablesToInlineAsync(Solution solution, SemanticModel semanticModel, ForEachBlockSyntax block)
        {
            if (semanticModel.GetSymbolInfo(block.ForEachStatement.ControlVariable).Symbol is ILocalSymbol varSymbol)
            {
                var usagesOutsideLoop = await solution.GetUsagesAsync(varSymbol, block.GetLocation());

                if (!usagesOutsideLoop.Any())
                {
                    return(varSymbol);
                }
            }
            return(null);
        }