2 types derived from CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (2)
Syntax.xml.Syntax.Generated.cs (2)
7722
public sealed partial class ForEachStatementSyntax :
CommonForEachStatementSyntax
7826
public sealed partial class ForEachVariableStatementSyntax :
CommonForEachStatementSyntax
178 references to CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (64)
Binder\Binder_Statements.cs (2)
92
result = BindForEach((
CommonForEachStatementSyntax
)node, diagnostics);
2917
private BoundStatement BindForEach(
CommonForEachStatementSyntax
node, BindingDiagnosticBag diagnostics)
Binder\ForEachLoopBinder.cs (2)
28
private readonly
CommonForEachStatementSyntax
_syntax;
40
public ForEachLoopBinder(Binder enclosing,
CommonForEachStatementSyntax
syntax)
Binder\LocalBinderFactory.cs (1)
640
private void VisitCommonForEachStatement(
CommonForEachStatementSyntax
node)
Compilation\CSharpSemanticModel.cs (1)
4828
public abstract ForEachStatementInfo GetForEachStatementInfo(
CommonForEachStatementSyntax
node);
Compilation\MemberSemanticModel.cs (4)
417
var
foreachStmt = (
CommonForEachStatementSyntax
)stmt;
940
return GetForEachStatementInfo((
CommonForEachStatementSyntax
)node);
943
public override ForEachStatementInfo GetForEachStatementInfo(
CommonForEachStatementSyntax
node)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
405
public override ForEachStatementInfo GetForEachStatementInfo(
CommonForEachStatementSyntax
node)
Compilation\SyntaxTreeSemanticModel.cs (1)
2419
public override ForEachStatementInfo GetForEachStatementInfo(
CommonForEachStatementSyntax
node)
CSharpExtensions.cs (1)
904
public static ForEachStatementInfo GetForEachStatementInfo(this SemanticModel? semanticModel,
CommonForEachStatementSyntax
forEachStatement)
FlowAnalysis\AbstractFlowPass.cs (1)
2910
if (AwaitUsingAndForeachAddsPendingBranch && ((
CommonForEachStatementSyntax
)node.Syntax).AwaitKeyword != default)
Lowering\Instrumentation\DebugInfoInjector.cs (6)
271
var
forEachSyntax = (
CommonForEachStatementSyntax
)original.Syntax;
292
var
forEachSyntax = (
CommonForEachStatementSyntax
)original.Syntax;
345
var
syntax = (
CommonForEachStatementSyntax
)original.Syntax;
Lowering\Instrumentation\Instrumenter.cs (3)
146
Debug.Assert(original.Syntax is
CommonForEachStatementSyntax
);
152
Debug.Assert(original.Syntax is
CommonForEachStatementSyntax
);
173
Debug.Assert(original.Syntax is
CommonForEachStatementSyntax
);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
1279
CommonForEachStatementSyntax
forEachSyntax = (
CommonForEachStatementSyntax
)original.Syntax;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
673
SynthesizedLocalKind.ForEachArray => awaitSyntax is
CommonForEachStatementSyntax
,
Syntax.xml.Syntax.Generated.cs (32)
7684
public
CommonForEachStatementSyntax
WithAwaitKeyword(SyntaxToken awaitKeyword) => WithAwaitKeywordCore(awaitKeyword);
7685
internal abstract
CommonForEachStatementSyntax
WithAwaitKeywordCore(SyntaxToken awaitKeyword);
7688
public
CommonForEachStatementSyntax
WithForEachKeyword(SyntaxToken forEachKeyword) => WithForEachKeywordCore(forEachKeyword);
7689
internal abstract
CommonForEachStatementSyntax
WithForEachKeywordCore(SyntaxToken forEachKeyword);
7692
public
CommonForEachStatementSyntax
WithOpenParenToken(SyntaxToken openParenToken) => WithOpenParenTokenCore(openParenToken);
7693
internal abstract
CommonForEachStatementSyntax
WithOpenParenTokenCore(SyntaxToken openParenToken);
7696
public
CommonForEachStatementSyntax
WithInKeyword(SyntaxToken inKeyword) => WithInKeywordCore(inKeyword);
7697
internal abstract
CommonForEachStatementSyntax
WithInKeywordCore(SyntaxToken inKeyword);
7700
public
CommonForEachStatementSyntax
WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression);
7701
internal abstract
CommonForEachStatementSyntax
WithExpressionCore(ExpressionSyntax expression);
7704
public
CommonForEachStatementSyntax
WithCloseParenToken(SyntaxToken closeParenToken) => WithCloseParenTokenCore(closeParenToken);
7705
internal abstract
CommonForEachStatementSyntax
WithCloseParenTokenCore(SyntaxToken closeParenToken);
7708
public
CommonForEachStatementSyntax
WithStatement(StatementSyntax statement) => WithStatementCore(statement);
7709
internal abstract
CommonForEachStatementSyntax
WithStatementCore(StatementSyntax statement);
7711
public new
CommonForEachStatementSyntax
WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => (
CommonForEachStatementSyntax
)WithAttributeListsCore(attributeLists);
7713
public new
CommonForEachStatementSyntax
AddAttributeLists(params AttributeListSyntax[] items) => (
CommonForEachStatementSyntax
)AddAttributeListsCore(items);
7799
internal override
CommonForEachStatementSyntax
WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword);
7801
internal override
CommonForEachStatementSyntax
WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword);
7803
internal override
CommonForEachStatementSyntax
WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken);
7807
internal override
CommonForEachStatementSyntax
WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword);
7809
internal override
CommonForEachStatementSyntax
WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression);
7811
internal override
CommonForEachStatementSyntax
WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken);
7813
internal override
CommonForEachStatementSyntax
WithStatementCore(StatementSyntax statement) => WithStatement(statement);
7906
internal override
CommonForEachStatementSyntax
WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword);
7908
internal override
CommonForEachStatementSyntax
WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword);
7910
internal override
CommonForEachStatementSyntax
WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken);
7913
internal override
CommonForEachStatementSyntax
WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword);
7915
internal override
CommonForEachStatementSyntax
WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression);
7917
internal override
CommonForEachStatementSyntax
WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken);
7919
internal override
CommonForEachStatementSyntax
WithStatementCore(StatementSyntax statement) => WithStatement(statement);
Syntax\LookupPosition.cs (2)
335
return ((
CommonForEachStatementSyntax
)statement).OpenParenToken.GetNextToken();
398
return GetFirstExcludedToken(((
CommonForEachStatementSyntax
)statement).Statement);
Syntax\SyntaxBindingUtilities.cs (2)
16
node is
CommonForEachStatementSyntax
{ AwaitKeyword.RawKind: not 0 }
23
or
CommonForEachStatementSyntax
Syntax\SyntaxFacts.cs (1)
553
case
CommonForEachStatementSyntax
@foreach when @foreach.AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword):
Syntax\SyntaxNodeExtensions.cs (1)
132
return ((
CommonForEachStatementSyntax
)parent).Expression == expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle (21)
src\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18
CommonForEachStatementSyntax
>
27
SemanticModel semanticModel,
CommonForEachStatementSyntax
node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631
if (expression.CheckParent<
CommonForEachStatementSyntax
>(f => f.Expression == expression) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
177
(nodeParent is
CommonForEachStatementSyntax
forEachStatement && forEachStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121
CommonForEachStatementSyntax
or
136
CommonForEachStatementSyntax
n => n.Statement,
712
CommonForEachStatementSyntax
n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296
CommonForEachStatementSyntax
foreachStatement => foreachStatement.CloseParenToken.Equals(token),
367
CommonForEachStatementSyntax
or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325
if (node is
CommonForEachStatementSyntax
foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172
if (node is not
CommonForEachStatementSyntax
forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585
var
commonForeach = (
CommonForEachStatementSyntax
)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358
if (currentOld is
CommonForEachStatementSyntax
oldForEach &&
1359
currentNew is
CommonForEachStatementSyntax
newForEach)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35
CommonForEachStatementSyntax
,
648
protected override ExpressionSyntax GetForEachStatementExpression(
CommonForEachStatementSyntax
forEachStatement)
654
protected override bool IsForEachTypeInferred(
CommonForEachStatementSyntax
forEachStatement, SemanticModel semanticModel)
877
protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel,
CommonForEachStatementSyntax
originalForEach, SemanticModel newModel,
CommonForEachStatementSyntax
newForEach)
887
CommonForEachStatementSyntax
forEach,
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
src\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17
internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<
CommonForEachStatementSyntax
>
20
SemanticModel semanticModel,
CommonForEachStatementSyntax
forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36
CommonForEachStatementSyntax
or
Microsoft.CodeAnalysis.CSharp.EditorFeatures (4)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
329
or
CommonForEachStatementSyntax
AutomaticCompletion\AutomaticLineEnderCommandHandler_Helpers.cs (3)
477
CommonForEachStatementSyntax
commonForEachStatementNode => ShouldAddBraceForCommonForEachStatement(commonForEachStatementNode, caretPosition),
666
private static bool ShouldAddBraceForCommonForEachStatement(
CommonForEachStatementSyntax
commonForEachStatementNode, int caretPosition)
942
CommonForEachStatementSyntax
forEachStatementNode => forEachStatementNode.WithStatement(block),
Microsoft.CodeAnalysis.CSharp.Features (39)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (1)
412
result = IsLastTokenOfType<
CommonForEachStatementSyntax
>(token, semanticModel,
Debugging\CSharpProximityExpressionsService.Worker.cs (1)
256
AddLastStatementOfConstruct((statement as
CommonForEachStatementSyntax
).Statement);
EditAndContinue\BreakpointSpans.cs (4)
668
var
forEachStatement = (
CommonForEachStatementSyntax
)statement;
968
var
forEachStatement = (
CommonForEachStatementSyntax
)parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (12)
222
statementPart = (int)GetStatementPart((
CommonForEachStatementSyntax
)node, position);
317
private static ForEachPart GetStatementPart(
CommonForEachStatementSyntax
node, int position)
788
return AreEquivalentActiveStatements((
CommonForEachStatementSyntax
)oldStatement, (
CommonForEachStatementSyntax
)newStatement);
873
private static bool AreEquivalentActiveStatements(
CommonForEachStatementSyntax
oldNode,
CommonForEachStatementSyntax
newNode)
888
private static bool AreSimilarActiveStatements(
CommonForEachStatementSyntax
oldNode,
CommonForEachStatementSyntax
newNode)
1820
var
commonForEachStatement = (
CommonForEachStatementSyntax
)node;
2268
Debug.Assert(((
CommonForEachStatementSyntax
)node).AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword));
3051
ReportUnmatchedStatements<
CommonForEachStatementSyntax
>(
EditAndContinue\SyntaxComparer.cs (7)
800
var
leftForEach = (
CommonForEachStatementSyntax
)leftNode;
801
var
rightForEach = (
CommonForEachStatementSyntax
)rightNode;
1159
CommonForEachStatementSyntax
leftCommonForEach,
1160
CommonForEachStatementSyntax
rightCommonForEach)
1309
internal static void GetLocalNames(
CommonForEachStatementSyntax
commonForEach, ref List<SyntaxToken>? result)
EditAndContinue\SyntaxUtilities.cs (1)
236
/// <see cref="
CommonForEachStatementSyntax
"/> for await foreach statements,
ExtractMethod\CSharpSelectionValidator.Validator.cs (2)
36
CommonForEachStatementSyntax
or
64
CommonForEachStatementSyntax
or
Highlighting\KeywordHighlighters\AsyncAwaitHighlighter.cs (1)
79
CommonForEachStatementSyntax
forEachStatement => TryAddAsyncOrAwaitKeyword(forEachStatement.AwaitKeyword, spans),
Highlighting\KeywordHighlighters\LoopHighlighter.cs (2)
49
case
CommonForEachStatementSyntax
forEachStatement:
70
private static void HighlightForEachStatement(
CommonForEachStatementSyntax
statement, List<TextSpan> spans)
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (2)
75
case
CommonForEachStatementSyntax
:
102
CommonForEachStatementSyntax
or DoStatementSyntax or WhileStatementSyntax or ForStatementSyntax
src\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18
CommonForEachStatementSyntax
>
27
SemanticModel semanticModel,
CommonForEachStatementSyntax
node)
src\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17
internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<
CommonForEachStatementSyntax
>
20
SemanticModel semanticModel,
CommonForEachStatementSyntax
forEachStatement)
src\Compilers\CSharp\Portable\Syntax\SyntaxBindingUtilities.cs (2)
16
node is
CommonForEachStatementSyntax
{ AwaitKeyword.RawKind: not 0 }
23
or
CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (3)
Semantics\ForEachTests.cs (3)
3258
var
syntaxNode =
3259
(
CommonForEachStatementSyntax
)tree.FindNodeOrTokenByKind(SyntaxKind.ForEachStatement).AsNode() ??
3260
(
CommonForEachStatementSyntax
)tree.FindNodeOrTokenByKind(SyntaxKind.ForEachVariableStatement).AsNode();
Microsoft.CodeAnalysis.CSharp.Workspaces (21)
Rename\CSharpRenameRewriterLanguageService.cs (1)
978
return [((
CommonForEachStatementSyntax
)token.Parent!).Expression.GetLocation()];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631
if (expression.CheckParent<
CommonForEachStatementSyntax
>(f => f.Expression == expression) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
177
(nodeParent is
CommonForEachStatementSyntax
forEachStatement && forEachStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121
CommonForEachStatementSyntax
or
136
CommonForEachStatementSyntax
n => n.Statement,
712
CommonForEachStatementSyntax
n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296
CommonForEachStatementSyntax
foreachStatement => foreachStatement.CloseParenToken.Equals(token),
367
CommonForEachStatementSyntax
or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325
if (node is
CommonForEachStatementSyntax
foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172
if (node is not
CommonForEachStatementSyntax
forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585
var
commonForeach = (
CommonForEachStatementSyntax
)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358
if (currentOld is
CommonForEachStatementSyntax
oldForEach &&
1359
currentNew is
CommonForEachStatementSyntax
newForEach)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35
CommonForEachStatementSyntax
,
648
protected override ExpressionSyntax GetForEachStatementExpression(
CommonForEachStatementSyntax
forEachStatement)
654
protected override bool IsForEachTypeInferred(
CommonForEachStatementSyntax
forEachStatement, SemanticModel semanticModel)
877
protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel,
CommonForEachStatementSyntax
originalForEach, SemanticModel newModel,
CommonForEachStatementSyntax
newForEach)
887
CommonForEachStatementSyntax
forEach,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36
CommonForEachStatementSyntax
or
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\ControlFlowGraphVerifier.cs (2)
654
if (syntax.Parent is CSharp.Syntax.
CommonForEachStatementSyntax
forEach && forEach.Expression == syntax)
1137
if (((
CommonForEachStatementSyntax
)parent).Expression == syntax)
Roslyn.Diagnostics.CSharp.Analyzers (21)
CSharpDoNotCopyValue.cs (1)
35
if (operation.Syntax is
CommonForEachStatementSyntax
syntax
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631
if (expression.CheckParent<
CommonForEachStatementSyntax
>(f => f.Expression == expression) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
177
(nodeParent is
CommonForEachStatementSyntax
forEachStatement && forEachStatement.Expression == node) ||
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121
CommonForEachStatementSyntax
or
136
CommonForEachStatementSyntax
n => n.Statement,
712
CommonForEachStatementSyntax
n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296
CommonForEachStatementSyntax
foreachStatement => foreachStatement.CloseParenToken.Equals(token),
367
CommonForEachStatementSyntax
or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325
if (node is
CommonForEachStatementSyntax
foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172
if (node is not
CommonForEachStatementSyntax
forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585
var
commonForeach = (
CommonForEachStatementSyntax
)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358
if (currentOld is
CommonForEachStatementSyntax
oldForEach &&
1359
currentNew is
CommonForEachStatementSyntax
newForEach)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35
CommonForEachStatementSyntax
,
648
protected override ExpressionSyntax GetForEachStatementExpression(
CommonForEachStatementSyntax
forEachStatement)
654
protected override bool IsForEachTypeInferred(
CommonForEachStatementSyntax
forEachStatement, SemanticModel semanticModel)
877
protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel,
CommonForEachStatementSyntax
originalForEach, SemanticModel newModel,
CommonForEachStatementSyntax
newForEach)
887
CommonForEachStatementSyntax
forEach,
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36
CommonForEachStatementSyntax
or