2 types derived from CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (2)
_generated\2\Syntax.xml.Syntax.Generated.cs (2)
7768public sealed partial class ForEachStatementSyntax : CommonForEachStatementSyntax 7872public sealed partial class ForEachVariableStatementSyntax : CommonForEachStatementSyntax
170 references to CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (64)
_generated\2\Syntax.xml.Syntax.Generated.cs (32)
7730public CommonForEachStatementSyntax WithAwaitKeyword(SyntaxToken awaitKeyword) => WithAwaitKeywordCore(awaitKeyword); 7731internal abstract CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword); 7734public CommonForEachStatementSyntax WithForEachKeyword(SyntaxToken forEachKeyword) => WithForEachKeywordCore(forEachKeyword); 7735internal abstract CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword); 7738public CommonForEachStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => WithOpenParenTokenCore(openParenToken); 7739internal abstract CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken); 7742public CommonForEachStatementSyntax WithInKeyword(SyntaxToken inKeyword) => WithInKeywordCore(inKeyword); 7743internal abstract CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword); 7746public CommonForEachStatementSyntax WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression); 7747internal abstract CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression); 7750public CommonForEachStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => WithCloseParenTokenCore(closeParenToken); 7751internal abstract CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken); 7754public CommonForEachStatementSyntax WithStatement(StatementSyntax statement) => WithStatementCore(statement); 7755internal abstract CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement); 7757public new CommonForEachStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => (CommonForEachStatementSyntax)WithAttributeListsCore(attributeLists); 7759public new CommonForEachStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => (CommonForEachStatementSyntax)AddAttributeListsCore(items); 7845internal override CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword); 7847internal override CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword); 7849internal override CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken); 7853internal override CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword); 7855internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7857internal override CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken); 7859internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7952internal override CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword); 7954internal override CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword); 7956internal override CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken); 7959internal override CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword); 7961internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7963internal override CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken); 7965internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement);
Binder\Binder_Statements.cs (2)
92result = BindForEach((CommonForEachStatementSyntax)node, diagnostics); 2929private BoundStatement BindForEach(CommonForEachStatementSyntax node, BindingDiagnosticBag diagnostics)
Binder\ForEachLoopBinder.cs (2)
28private readonly CommonForEachStatementSyntax _syntax; 40public ForEachLoopBinder(Binder enclosing, CommonForEachStatementSyntax syntax)
Binder\LocalBinderFactory.cs (1)
640private void VisitCommonForEachStatement(CommonForEachStatementSyntax node)
Compilation\CSharpSemanticModel.cs (1)
4847public abstract ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node);
Compilation\MemberSemanticModel.cs (4)
417var foreachStmt = (CommonForEachStatementSyntax)stmt; 971return GetForEachStatementInfo((CommonForEachStatementSyntax)node); 974public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
415public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
Compilation\SyntaxTreeSemanticModel.cs (1)
2432public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
CSharpExtensions.cs (1)
904public static ForEachStatementInfo GetForEachStatementInfo(this SemanticModel? semanticModel, CommonForEachStatementSyntax forEachStatement)
FlowAnalysis\AbstractFlowPass.cs (1)
2959if (AwaitUsingAndForeachAddsPendingBranch && ((CommonForEachStatementSyntax)node.Syntax).AwaitKeyword != default)
Lowering\Instrumentation\DebugInfoInjector.cs (6)
271var forEachSyntax = (CommonForEachStatementSyntax)original.Syntax; 292var forEachSyntax = (CommonForEachStatementSyntax)original.Syntax; 345var syntax = (CommonForEachStatementSyntax)original.Syntax;
Lowering\Instrumentation\Instrumenter.cs (3)
146Debug.Assert(original.Syntax is CommonForEachStatementSyntax); 152Debug.Assert(original.Syntax is CommonForEachStatementSyntax); 173Debug.Assert(original.Syntax is CommonForEachStatementSyntax);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
1286CommonForEachStatementSyntax forEachSyntax = (CommonForEachStatementSyntax)original.Syntax;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
673SynthesizedLocalKind.ForEachArray => awaitSyntax is CommonForEachStatementSyntax,
Syntax\LookupPosition.cs (2)
335return ((CommonForEachStatementSyntax)statement).OpenParenToken.GetNextToken(); 398return GetFirstExcludedToken(((CommonForEachStatementSyntax)statement).Statement);
Syntax\SyntaxBindingUtilities.cs (2)
16node is CommonForEachStatementSyntax { AwaitKeyword.RawKind: not 0 } 23or CommonForEachStatementSyntax
Syntax\SyntaxFacts.cs (1)
553case CommonForEachStatementSyntax @foreach when @foreach.AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword):
Syntax\SyntaxNodeExtensions.cs (1)
132return ((CommonForEachStatementSyntax)parent).Expression == expression;
Microsoft.CodeAnalysis.CSharp.CodeStyle (21)
src\roslyn\src\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18CommonForEachStatementSyntax> 27SemanticModel semanticModel, CommonForEachStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryAsyncModifier\CSharpMakeMethodSynchronousDiagnosticAnalyzer.cs (1)
138CommonForEachStatementSyntax foreachStatement => foreachStatement.AwaitKeyword != default,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (expression.CheckParent<CommonForEachStatementSyntax>(f => f.Expression == expression) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
176(nodeParent is CommonForEachStatementSyntax forEachStatement && forEachStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
299CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 370CommonForEachStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
180if (node is not CommonForEachStatementSyntax forEachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1562var commonForeach = (CommonForEachStatementSyntax)statement;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1394if (currentOld is CommonForEachStatementSyntax oldForEach && 1395currentNew is CommonForEachStatementSyntax newForEach)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35CommonForEachStatementSyntax, 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 654protected override bool IsForEachTypeInferred(CommonForEachStatementSyntax forEachStatement, SemanticModel semanticModel) 877protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel, CommonForEachStatementSyntax originalForEach, SemanticModel newModel, CommonForEachStatementSyntax newForEach) 887CommonForEachStatementSyntax forEach,
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
src\roslyn\src\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<CommonForEachStatementSyntax> 20SemanticModel semanticModel, CommonForEachStatementSyntax forEachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or
Microsoft.CodeAnalysis.CSharp.Features (40)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (1)
483result = IsLastTokenOfType<CommonForEachStatementSyntax>(token, semanticModel,
Debugging\CSharpProximityExpressionsService.Worker.cs (1)
256AddLastStatementOfConstruct((statement as CommonForEachStatementSyntax).Statement);
EditAndContinue\BreakpointSpans.cs (4)
668var forEachStatement = (CommonForEachStatementSyntax)statement; 989var forEachStatement = (CommonForEachStatementSyntax)parent;
EditAndContinue\CSharpEditAndContinueAnalyzer.cs (12)
222statementPart = (int)GetStatementPart((CommonForEachStatementSyntax)node, position); 317private static ForEachPart GetStatementPart(CommonForEachStatementSyntax node, int position) 788return AreEquivalentActiveStatements((CommonForEachStatementSyntax)oldStatement, (CommonForEachStatementSyntax)newStatement); 873private static bool AreEquivalentActiveStatements(CommonForEachStatementSyntax oldNode, CommonForEachStatementSyntax newNode) 888private static bool AreSimilarActiveStatements(CommonForEachStatementSyntax oldNode, CommonForEachStatementSyntax newNode) 1820var commonForEachStatement = (CommonForEachStatementSyntax)node; 2268Debug.Assert(((CommonForEachStatementSyntax)node).AwaitKeyword.IsKind(SyntaxKind.AwaitKeyword)); 3051ReportUnmatchedStatements<CommonForEachStatementSyntax>(
EditAndContinue\SyntaxComparer.cs (7)
800var leftForEach = (CommonForEachStatementSyntax)leftNode; 801var rightForEach = (CommonForEachStatementSyntax)rightNode; 1159CommonForEachStatementSyntax leftCommonForEach, 1160CommonForEachStatementSyntax rightCommonForEach) 1309internal 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)
36CommonForEachStatementSyntax or 64CommonForEachStatementSyntax or
Highlighting\KeywordHighlighters\AsyncAwaitHighlighter.cs (1)
79CommonForEachStatementSyntax forEachStatement => TryAddAsyncOrAwaitKeyword(forEachStatement.AwaitKeyword, spans),
Highlighting\KeywordHighlighters\LoopHighlighter.cs (2)
49case CommonForEachStatementSyntax forEachStatement: 70private static void HighlightForEachStatement(CommonForEachStatementSyntax statement, List<TextSpan> spans)
InvertIf\CSharpInvertIfCodeRefactoringProvider.cs (2)
83case CommonForEachStatementSyntax: 110CommonForEachStatementSyntax or DoStatementSyntax or WhileStatementSyntax or ForStatementSyntax
src\roslyn\src\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18CommonForEachStatementSyntax> 27SemanticModel semanticModel, CommonForEachStatementSyntax node)
src\roslyn\src\Analyzers\CSharp\Analyzers\RemoveUnnecessaryAsyncModifier\CSharpMakeMethodSynchronousDiagnosticAnalyzer.cs (1)
138CommonForEachStatementSyntax foreachStatement => foreachStatement.AwaitKeyword != default,
src\roslyn\src\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<CommonForEachStatementSyntax> 20SemanticModel semanticModel, CommonForEachStatementSyntax forEachStatement)
src\roslyn\src\Compilers\CSharp\Portable\Syntax\SyntaxBindingUtilities.cs (2)
16node is CommonForEachStatementSyntax { AwaitKeyword.RawKind: not 0 } 23or CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp.NetAnalyzers (2)
Microsoft.NetCore.Analyzers\Runtime\CSharpDoNotUseStackallocInLoops.cs (2)
44var foreachStatement = (CommonForEachStatementSyntax)node;
Microsoft.CodeAnalysis.CSharp.Workspaces (20)
Rename\CSharpRenameRewriterLanguageService.cs (1)
976return [((CommonForEachStatementSyntax)token.Parent!).Expression.GetLocation()];
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (expression.CheckParent<CommonForEachStatementSyntax>(f => f.Expression == expression) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
176(nodeParent is CommonForEachStatementSyntax forEachStatement && forEachStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
299CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 370CommonForEachStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
180if (node is not CommonForEachStatementSyntax forEachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1562var commonForeach = (CommonForEachStatementSyntax)statement;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1394if (currentOld is CommonForEachStatementSyntax oldForEach && 1395currentNew is CommonForEachStatementSyntax newForEach)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35CommonForEachStatementSyntax, 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 654protected override bool IsForEachTypeInferred(CommonForEachStatementSyntax forEachStatement, SemanticModel semanticModel) 877protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel, CommonForEachStatementSyntax originalForEach, SemanticModel newModel, CommonForEachStatementSyntax newForEach) 887CommonForEachStatementSyntax forEach,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or
Roslyn.Diagnostics.CSharp.Analyzers (20)
CSharpDoNotCopyValue.cs (1)
35if (operation.Syntax is CommonForEachStatementSyntax syntax
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (expression.CheckParent<CommonForEachStatementSyntax>(f => f.Expression == expression) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ParenthesizedExpressionSyntaxExtensions.cs (1)
176(nodeParent is CommonForEachStatementSyntax forEachStatement && forEachStatement.Expression == node) ||
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\SyntaxNodeExtensions.cs (3)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
299CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 370CommonForEachStatementSyntax or
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
180if (node is not CommonForEachStatementSyntax forEachStatement)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1562var commonForeach = (CommonForEachStatementSyntax)statement;
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1394if (currentOld is CommonForEachStatementSyntax oldForEach && 1395currentNew is CommonForEachStatementSyntax newForEach)
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (6)
35CommonForEachStatementSyntax, 648protected override ExpressionSyntax GetForEachStatementExpression(CommonForEachStatementSyntax forEachStatement) 654protected override bool IsForEachTypeInferred(CommonForEachStatementSyntax forEachStatement, SemanticModel semanticModel) 877protected override bool ForEachConversionsAreCompatible(SemanticModel originalModel, CommonForEachStatementSyntax originalForEach, SemanticModel newModel, CommonForEachStatementSyntax newForEach) 887CommonForEachStatementSyntax forEach,
src\roslyn\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or