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