2 types derived from CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (2)
Syntax.xml.Syntax.Generated.cs (2)
7722public sealed partial class ForEachStatementSyntax : CommonForEachStatementSyntax 7826public sealed partial class ForEachVariableStatementSyntax : CommonForEachStatementSyntax
178 references to CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp (64)
Binder\Binder_Statements.cs (2)
92result = BindForEach((CommonForEachStatementSyntax)node, diagnostics); 2917private 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)
4828public abstract ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node);
Compilation\MemberSemanticModel.cs (4)
417var foreachStmt = (CommonForEachStatementSyntax)stmt; 940return GetForEachStatementInfo((CommonForEachStatementSyntax)node); 943public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
Compilation\SpeculativeSemanticModelWithMemberModel.cs (1)
405public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
Compilation\SyntaxTreeSemanticModel.cs (1)
2419public override ForEachStatementInfo GetForEachStatementInfo(CommonForEachStatementSyntax node)
CSharpExtensions.cs (1)
904public static ForEachStatementInfo GetForEachStatementInfo(this SemanticModel? semanticModel, CommonForEachStatementSyntax forEachStatement)
FlowAnalysis\AbstractFlowPass.cs (1)
2910if (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)
1279CommonForEachStatementSyntax forEachSyntax = (CommonForEachStatementSyntax)original.Syntax;
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
673SynthesizedLocalKind.ForEachArray => awaitSyntax is CommonForEachStatementSyntax,
Syntax.xml.Syntax.Generated.cs (32)
7684public CommonForEachStatementSyntax WithAwaitKeyword(SyntaxToken awaitKeyword) => WithAwaitKeywordCore(awaitKeyword); 7685internal abstract CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword); 7688public CommonForEachStatementSyntax WithForEachKeyword(SyntaxToken forEachKeyword) => WithForEachKeywordCore(forEachKeyword); 7689internal abstract CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword); 7692public CommonForEachStatementSyntax WithOpenParenToken(SyntaxToken openParenToken) => WithOpenParenTokenCore(openParenToken); 7693internal abstract CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken); 7696public CommonForEachStatementSyntax WithInKeyword(SyntaxToken inKeyword) => WithInKeywordCore(inKeyword); 7697internal abstract CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword); 7700public CommonForEachStatementSyntax WithExpression(ExpressionSyntax expression) => WithExpressionCore(expression); 7701internal abstract CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression); 7704public CommonForEachStatementSyntax WithCloseParenToken(SyntaxToken closeParenToken) => WithCloseParenTokenCore(closeParenToken); 7705internal abstract CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken); 7708public CommonForEachStatementSyntax WithStatement(StatementSyntax statement) => WithStatementCore(statement); 7709internal abstract CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement); 7711public new CommonForEachStatementSyntax WithAttributeLists(SyntaxList<AttributeListSyntax> attributeLists) => (CommonForEachStatementSyntax)WithAttributeListsCore(attributeLists); 7713public new CommonForEachStatementSyntax AddAttributeLists(params AttributeListSyntax[] items) => (CommonForEachStatementSyntax)AddAttributeListsCore(items); 7799internal override CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword); 7801internal override CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword); 7803internal override CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken); 7807internal override CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword); 7809internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7811internal override CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken); 7813internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement); 7906internal override CommonForEachStatementSyntax WithAwaitKeywordCore(SyntaxToken awaitKeyword) => WithAwaitKeyword(awaitKeyword); 7908internal override CommonForEachStatementSyntax WithForEachKeywordCore(SyntaxToken forEachKeyword) => WithForEachKeyword(forEachKeyword); 7910internal override CommonForEachStatementSyntax WithOpenParenTokenCore(SyntaxToken openParenToken) => WithOpenParenToken(openParenToken); 7913internal override CommonForEachStatementSyntax WithInKeywordCore(SyntaxToken inKeyword) => WithInKeyword(inKeyword); 7915internal override CommonForEachStatementSyntax WithExpressionCore(ExpressionSyntax expression) => WithExpression(expression); 7917internal override CommonForEachStatementSyntax WithCloseParenTokenCore(SyntaxToken closeParenToken) => WithCloseParenToken(closeParenToken); 7919internal override CommonForEachStatementSyntax WithStatementCore(StatementSyntax statement) => WithStatement(statement);
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\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18CommonForEachStatementSyntax> 27SemanticModel semanticModel, CommonForEachStatementSyntax node)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (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)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 367CommonForEachStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325if (node is CommonForEachStatementSyntax foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172if (node is not CommonForEachStatementSyntax forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585var commonForeach = (CommonForEachStatementSyntax)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358if (currentOld is CommonForEachStatementSyntax oldForEach && 1359currentNew is CommonForEachStatementSyntax newForEach)
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\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<CommonForEachStatementSyntax> 20SemanticModel semanticModel, CommonForEachStatementSyntax forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or
Microsoft.CodeAnalysis.CSharp.EditorFeatures (4)
AutomaticCompletion\AutomaticLineEnderCommandHandler.cs (1)
329or CommonForEachStatementSyntax
AutomaticCompletion\AutomaticLineEnderCommandHandler_Helpers.cs (3)
477CommonForEachStatementSyntax commonForEachStatementNode => ShouldAddBraceForCommonForEachStatement(commonForEachStatementNode, caretPosition), 666private static bool ShouldAddBraceForCommonForEachStatement(CommonForEachStatementSyntax commonForEachStatementNode, int caretPosition) 942CommonForEachStatementSyntax forEachStatementNode => forEachStatementNode.WithStatement(block),
Microsoft.CodeAnalysis.CSharp.Features (39)
Completion\CompletionProviders\DeclarationName\DeclarationNameInfo.cs (1)
412result = IsLastTokenOfType<CommonForEachStatementSyntax>(token, semanticModel,
Debugging\CSharpProximityExpressionsService.Worker.cs (1)
256AddLastStatementOfConstruct((statement as CommonForEachStatementSyntax).Statement);
EditAndContinue\BreakpointSpans.cs (4)
668var forEachStatement = (CommonForEachStatementSyntax)statement; 968var 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)
75case CommonForEachStatementSyntax: 102CommonForEachStatementSyntax or DoStatementSyntax or WhileStatementSyntax or ForStatementSyntax
src\Analyzers\CSharp\Analyzers\ForEachCast\CSharpForEachCastDiagnosticAnalyzer.cs (2)
18CommonForEachStatementSyntax> 27SemanticModel semanticModel, CommonForEachStatementSyntax node)
src\Analyzers\CSharp\CodeFixes\ForEachCast\CSharpForEachCastCodeFixProvider.cs (2)
17internal sealed class CSharpForEachCastCodeFixProvider() : AbstractForEachCastCodeFixProvider<CommonForEachStatementSyntax> 20SemanticModel semanticModel, CommonForEachStatementSyntax forEachStatement)
src\Compilers\CSharp\Portable\Syntax\SyntaxBindingUtilities.cs (2)
16node is CommonForEachStatementSyntax { AwaitKeyword.RawKind: not 0 } 23or CommonForEachStatementSyntax
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (3)
Semantics\ForEachTests.cs (3)
3258var syntaxNode = 3259(CommonForEachStatementSyntax)tree.FindNodeOrTokenByKind(SyntaxKind.ForEachStatement).AsNode() ?? 3260(CommonForEachStatementSyntax)tree.FindNodeOrTokenByKind(SyntaxKind.ForEachVariableStatement).AsNode();
Microsoft.CodeAnalysis.CSharp.Workspaces (21)
Rename\CSharpRenameRewriterLanguageService.cs (1)
978return [((CommonForEachStatementSyntax)token.Parent!).Expression.GetLocation()];
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (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)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 367CommonForEachStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325if (node is CommonForEachStatementSyntax foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172if (node is not CommonForEachStatementSyntax forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585var commonForeach = (CommonForEachStatementSyntax)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358if (currentOld is CommonForEachStatementSyntax oldForEach && 1359currentNew is CommonForEachStatementSyntax newForEach)
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or
Microsoft.CodeAnalysis.Test.Utilities (2)
Compilation\ControlFlowGraphVerifier.cs (2)
654if (syntax.Parent is CSharp.Syntax.CommonForEachStatementSyntax forEach && forEach.Expression == syntax) 1137if (((CommonForEachStatementSyntax)parent).Expression == syntax)
Roslyn.Diagnostics.CSharp.Analyzers (21)
CSharpDoNotCopyValue.cs (1)
35if (operation.Syntax is CommonForEachStatementSyntax syntax
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ExpressionSyntaxExtensions.cs (1)
631if (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)
121CommonForEachStatementSyntax or 136CommonForEachStatementSyntax n => n.Statement, 712CommonForEachStatementSyntax n => (n.OpenParenToken, n.CloseParenToken),
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\FormattingHelpers.cs (2)
296CommonForEachStatementSyntax foreachStatement => foreachStatement.CloseParenToken.Equals(token), 367CommonForEachStatementSyntax or
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Formatting\Rules\IndentBlockFormattingRule.cs (1)
325if (node is CommonForEachStatementSyntax foreachStatement && foreachStatement.Statement != null && !(foreachStatement.Statement is BlockSyntax))
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SemanticFacts\CSharpSemanticFacts.cs (1)
172if (node is not CommonForEachStatementSyntax forEachStatement)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Services\SyntaxFacts\CSharpSyntaxFacts.cs (2)
1585var commonForeach = (CommonForEachStatementSyntax)statement;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (2)
1358if (currentOld is CommonForEachStatementSyntax oldForEach && 1359currentNew is CommonForEachStatementSyntax newForEach)
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\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpMoveDeclarationNearReferenceService.cs (1)
36CommonForEachStatementSyntax or