1 instantiation of ForStatementSyntax
Microsoft.CodeAnalysis.CSharp (1)
_generated\1\Syntax.xml.Internal.Generated.cs (1)
12444internal override SyntaxNode CreateRed(SyntaxNode? parent, int position) => new CSharp.Syntax.ForStatementSyntax(this, parent, position);
145 references to ForStatementSyntax
ILLink.CodeFixProvider (1)
RequiresUnsafeCodeFixProvider.cs (1)
125|| statement.Parent is ForStatementSyntax
Microsoft.CodeAnalysis.CSharp (44)
_generated\0\Syntax.xml.Main.Generated.cs (7)
407public virtual TResult? VisitForStatement(ForStatementSyntax node) => this.DefaultVisit(node); 1159public virtual void VisitForStatement(ForStatementSyntax node) => this.DefaultVisit(node); 1910public override SyntaxNode? VisitForStatement(ForStatementSyntax node) 4368public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 4376return (ForStatementSyntax)Syntax.InternalSyntax.SyntaxFactory.ForStatement(attributeLists.Node.ToGreenList<Syntax.InternalSyntax.AttributeListSyntax>(), (Syntax.InternalSyntax.SyntaxToken)forKeyword.Node!, (Syntax.InternalSyntax.SyntaxToken)openParenToken.Node!, declaration == null ? null : (Syntax.InternalSyntax.VariableDeclarationSyntax)declaration.Green, initializers.Node.ToGreenSeparatedList<Syntax.InternalSyntax.ExpressionSyntax>(), (Syntax.InternalSyntax.SyntaxToken)firstSemicolonToken.Node!, condition == null ? null : (Syntax.InternalSyntax.ExpressionSyntax)condition.Green, (Syntax.InternalSyntax.SyntaxToken)secondSemicolonToken.Node!, incrementors.Node.ToGreenSeparatedList<Syntax.InternalSyntax.ExpressionSyntax>(), (Syntax.InternalSyntax.SyntaxToken)closeParenToken.Node!, (Syntax.InternalSyntax.StatementSyntax)statement.Green).CreateRed(); 4380public static ForStatementSyntax ForStatement(SyntaxList<AttributeListSyntax> attributeLists, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 4384public static ForStatementSyntax ForStatement(StatementSyntax statement)
_generated\2\Syntax.xml.Syntax.Generated.cs (16)
7692public ForStatementSyntax Update(SyntaxList<AttributeListSyntax> attributeLists, SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 7696var newNode = SyntaxFactory.ForStatement(attributeLists, forKeyword, openParenToken, declaration, initializers, firstSemicolonToken, condition, secondSemicolonToken, incrementors, closeParenToken, statement); 7705public new ForStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => Update(attributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7706public ForStatementSyntax WithForKeyword(SyntaxToken forKeyword) => Update(this.AttributeLists, forKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7707public ForStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => Update(this.AttributeLists, this.ForKeyword, openParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7708public ForStatementSyntax WithDeclaration(VariableDeclarationSyntax? declaration) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7709public ForStatementSyntax WithInitializers(SeparatedSyntaxList<ExpressionSyntax> initializers) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7710public ForStatementSyntax WithFirstSemicolonToken(SyntaxToken firstSemicolonToken) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, firstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7711public ForStatementSyntax WithCondition(ExpressionSyntax? condition) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7712public ForStatementSyntax WithSecondSemicolonToken(SyntaxToken secondSemicolonToken) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, secondSemicolonToken, this.Incrementors, this.CloseParenToken, this.Statement); 7713public ForStatementSyntax WithIncrementors(SeparatedSyntaxList<ExpressionSyntax> incrementors) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, incrementors, this.CloseParenToken, this.Statement); 7714public ForStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, closeParenToken, this.Statement); 7715public ForStatementSyntax WithStatement(StatementSyntax statement) => Update(this.AttributeLists, this.ForKeyword, this.OpenParenToken, this.Declaration, this.Initializers, this.FirstSemicolonToken, this.Condition, this.SecondSemicolonToken, this.Incrementors, this.CloseParenToken, statement); 7718public new ForStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => WithAttributeLists(this.AttributeLists.AddRange(items)); 7719public ForStatementSyntax AddInitializers(params ExpressionSyntax[] items) => WithInitializers(this.Initializers.AddRange(items)); 7720public ForStatementSyntax AddIncrementors(params ExpressionSyntax[] items) => WithIncrementors(this.Incrementors.AddRange(items));
Binder\Binder_Deconstruct.cs (3)
50if (((ForStatementSyntax)node.Parent).Initializers.Contains(node)) 200var loop = (ForStatementSyntax)grandParent;
Binder\Binder_Expressions.cs (2)
11730var loop = (ForStatementSyntax)parent;
Binder\Binder_Statements.cs (2)
88result = BindFor((ForStatementSyntax)node, diagnostics); 2831internal BoundForStatement BindFor(ForStatementSyntax node, BindingDiagnosticBag diagnostics)
Binder\ForLoopBinder.cs (3)
19private readonly ForStatementSyntax _syntax; 21public ForLoopBinder(Binder enclosing, ForStatementSyntax syntax) 69private BoundForStatement BindForParts(ForStatementSyntax node, Binder originalBinder, BindingDiagnosticBag diagnostics)
Binder\LocalBinderFactory.cs (1)
594public override void VisitForStatement(ForStatementSyntax node)
Compilation\MemberSemanticModel.cs (2)
400var forStmt = (ForStatementSyntax)stmt;
Syntax\ForStatementSyntax.cs (3)
11public ForStatementSyntax Update(SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement) 20public static ForStatementSyntax ForStatement(VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, ExpressionSyntax? condition, SeparatedSyntaxList<ExpressionSyntax> incrementors, StatementSyntax statement) 23public static ForStatementSyntax ForStatement(SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList<ExpressionSyntax> initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList<ExpressionSyntax> incrementors, SyntaxToken closeParenToken, StatementSyntax statement)
Syntax\LambdaUtilities.cs (1)
450SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors;
Syntax\LookupPosition.cs (2)
337return ((ForStatementSyntax)statement).OpenParenToken.GetNextToken(); 400return GetFirstExcludedToken(((ForStatementSyntax)statement).Statement);
Syntax\SyntaxNodeExtensions.cs (2)
127var forStmt = (ForStatementSyntax)parent;
Microsoft.CodeAnalysis.CSharp.CodeStyle (12)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
159var forStatement = (ForStatementSyntax)current;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
175(nodeParent is ForStatementSyntax forStatement && forStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
122ForStatementSyntax or 137ForStatementSyntax n => n.Statement, 711ForStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
152token.Parent is ForStatementSyntax forStatement && 298ForStatementSyntax forStatement => forStatement.CloseParenToken.Equals(token), 369ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
454if (previousToken.Parent is ForStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 575private static bool IsEmptyForStatement(ForStatementSyntax forStatement)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (7)
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundAssignmentCodeFixProvider.cs (1)
52if (currentAssignment.Parent is ForStatementSyntax forStatement &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
37ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
162ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, expression), 232ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, previousToken: token), 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
Microsoft.CodeAnalysis.CSharp.Features (44)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (1)
470modifierGetter: v => v.Parent is UsingStatementSyntax or ForStatementSyntax
ConvertForEachToFor\CSharpConvertForEachToForCodeRefactoringProvider.cs (1)
88var forStatement = ForStatement(
ConvertForToForEach\CSharpConvertForToForEachCodeRefactoringProvider.cs (4)
21ForStatementSyntax, 36protected override SyntaxList<StatementSyntax> GetBodyStatements(ForStatementSyntax forStatement) 42ForStatementSyntax forStatement, 113ForStatementSyntax forStatement,
Debugging\CSharpProximityExpressionsService.RelevantExpressionsCollector.cs (1)
50public override void VisitForStatement(ForStatementSyntax node)
Debugging\CSharpProximityExpressionsService.Worker.cs (1)
252AddLastStatementOfConstruct((statement as ForStatementSyntax).Statement);
EditAndContinue\BreakpointSpans.cs (4)
632var forStatement = (ForStatementSyntax)statement; 981var forStatement = (ForStatementSyntax)parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (2)
1815var forStatement = (ForStatementSyntax)node;
EditAndContinue\SyntaxComparer.cs (6)
791var leftFor = (ForStatementSyntax)leftNode; 792var rightFor = (ForStatementSyntax)rightNode; 1176private static double ComputeWeightedDistance(ForStatementSyntax left, ForStatementSyntax right)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.CallSiteContainerRewriter.cs (1)
234public override SyntaxNode VisitForStatement(ForStatementSyntax node)
ExtractMethod\CSharpSelectionValidator.Validator.cs (2)
37ForStatementSyntax or 65ForStatementSyntax or
Highlighting\KeywordHighlighters\LoopHighlighter.cs (2)
46case ForStatementSyntax forStatement: 67private static void HighlightForStatement(ForStatementSyntax statement, List<TextSpan> spans)
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (2)
86case ForStatementSyntax: 110CommonForEachStatementSyntax or DoStatementSyntax or WhileStatementSyntax or ForStatementSyntax
ReverseForStatement\CSharpReverseForStatementCodeRefactoringProvider.cs (3)
36var forStatement = await context.TryGetRelevantNodeAsync<ForStatementSyntax>().ConfigureAwait(false); 263Document document, ForStatementSyntax forStatement, CancellationToken cancellationToken)
Snippets\AbstractCSharpForLoopSnippetProvider.cs (8)
31internal abstract class AbstractCSharpForLoopSnippetProvider : AbstractForLoopSnippetProvider<ForStatementSyntax> 48protected override ValueTask<ForStatementSyntax> AdjustSnippetExpressionAsync( 49Document document, ForStatementSyntax snippetExpressionNode, CancellationToken cancellationToken) 55return new((ForStatementSyntax)editor.GetChangedRoot()); 58protected override ForStatementSyntax GenerateStatement( 112Document document, ForStatementSyntax forStatement, ISyntaxFacts syntaxFacts, CancellationToken cancellationToken) 139protected override int GetTargetCaretPosition(ForStatementSyntax forStatement, SourceText sourceText) 145protected override Task<Document> AddIndentationToDocumentAsync(Document document, ForStatementSyntax forStatement, CancellationToken cancellationToken)
src\roslyn\src\Analyzers\CSharp\Analyzers\UsePatternMatching\CSharpAsAndNullCheckDiagnosticAnalyzer.Analyzer.cs (2)
159var forStatement = (ForStatementSyntax)current;
src\roslyn\src\Analyzers\CSharp\CodeFixes\UseCompoundAssignment\CSharpUseCompoundAssignmentCodeFixProvider.cs (1)
52if (currentAssignment.Parent is ForStatementSyntax forStatement &&
src\roslyn\src\Compilers\CSharp\Portable\Syntax\LambdaUtilities.cs (1)
450SeparatedSyntaxList<ExpressionSyntax> incrementors = ((ForStatementSyntax)node.Parent).Incrementors;
Structure\CSharpStructureHelpers.cs (2)
96var forStatement = nextToken.GetAncestor<ForStatementSyntax>();
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (2)
Microsoft.NetCore.Analyzers\Runtime\CSharpDoNotUseStackallocInLoops.cs (2)
56var forStatement = (ForStatementSyntax)node;
Microsoft.CodeAnalysis.CSharp.Workspaces (17)
Rename\LocalConflictVisitor.cs (1)
79public override void VisitForStatement(ForStatementSyntax node)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
175(nodeParent is ForStatementSyntax forStatement && forStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
122ForStatementSyntax or 137ForStatementSyntax n => n.Statement, 711ForStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
152token.Parent is ForStatementSyntax forStatement && 298ForStatementSyntax forStatement => forStatement.CloseParenToken.Equals(token), 369ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
454if (previousToken.Parent is ForStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 575private static bool IsEmptyForStatement(ForStatementSyntax forStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
37ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
162ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, expression), 232ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, previousToken: token), 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)
Microsoft.Interop.SourceGeneration (2)
Marshalling\ElementsMarshalling.cs (1)
575var forLoop = ForLoop(indexer, lengthExpression)
Utils\SyntaxFactoryExtensions.cs (1)
114public static ForStatementSyntax ForLoop(string indexerIdentifier, ExpressionSyntax lengthExpression)
Roslyn.Diagnostics.CSharp.Analyzers (16)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
175(nodeParent is ForStatementSyntax forStatement && forStatement.Condition == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
122ForStatementSyntax or 137ForStatementSyntax n => n.Statement, 711ForStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (3)
152token.Parent is ForStatementSyntax forStatement && 298ForStatementSyntax forStatement => forStatement.CloseParenToken.Equals(token), 369ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\ElasticTriviaFormattingRule.cs (1)
454if (previousToken.Parent is ForStatementSyntax)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\SpacingFormattingRule.cs (2)
178&& IsEmptyForStatement((ForStatementSyntax)previousToken.Parent)) 575private static bool IsEmptyForStatement(ForStatementSyntax forStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ContextQuery\SyntaxTreeExtensions.cs (2)
2525token.Parent is ForStatementSyntax forStatement) 2536token.Parent is ForStatementSyntax forStatement2 &&
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
37ForStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (3)
162ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, expression), 232ForStatementSyntax forStatement => InferTypeInForStatement(forStatement, previousToken: token), 1352private IEnumerable<TypeInferenceInfo> InferTypeInForStatement(ForStatementSyntax forStatement, ExpressionSyntax expressionOpt = null, SyntaxToken? previousToken = null)