1 instantiation of BoundForEachStatement
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4065var result = new BoundForEachStatement(this.Syntax, enumeratorInfoOpt, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, awaitOpt, body, breakLabel, continueLabel, this.HasErrors);
68 references to BoundForEachStatement
Microsoft.CodeAnalysis.CSharp (68)
Binder\ForEachLoopBinder.cs (2)
182BoundForEachStatement result = BindForEachPartsWorker(diagnostics, originalBinder); 216private BoundForEachStatement BindForEachPartsWorker(BindingDiagnosticBag diagnostics, Binder originalBinder)
Binder\RefSafetyAnalysis.cs (1)
1106public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
BoundTree\BoundNode.cs (1)
662public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
BoundTree\BoundTreeVisitors.cs (1)
94return VisitForEachStatement(node as BoundForEachStatement, arg);
Compilation\MemberSemanticModel.cs (4)
944BoundForEachStatement boundForEach = (BoundForEachStatement)GetUpperBoundNode(node); 1018var boundForEach = (BoundForEachStatement)GetUpperBoundNode(node);
FlowAnalysis\AbstractFlowPass.cs (3)
2897public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2917protected virtual void VisitForEachExpression(BoundForEachStatement node) 2922public virtual void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\DefiniteAssignment.cs (3)
445var foreachStatement = (BoundForEachStatement)pendingBranch; 2775public override void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\ExitPointsWalker.cs (2)
86public override BoundNode VisitForEachStatement(BoundForEachStatement node) 143case BoundKind.ForEachStatement when ((BoundForEachStatement)pending.Branch).AwaitOpt != null:
FlowAnalysis\NullableWalker.cs (4)
3570public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 7102if (node is BoundForEachStatement { EnumeratorInfoOpt: { GetEnumeratorInfo: { Method: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } } }) 11525protected override void VisitForEachExpression(BoundForEachStatement node) 11756public override void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
214public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
127public override void VisitForEachIterationVariables(BoundForEachStatement node)
Generated\BoundNodes.xml.Generated.cs (9)
4061public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel) 4065var result = new BoundForEachStatement(this.Syntax, enumeratorInfoOpt, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, awaitOpt, body, breakLabel, continueLabel, this.HasErrors); 9065return VisitForEachStatement((BoundForEachStatement)node, arg); 9432public virtual R VisitForEachStatement(BoundForEachStatement node, A arg) => this.DefaultVisit(node, arg); 9668public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 10200public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11479public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13577public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 16019public override TreeDumperNode VisitForEachStatement(BoundForEachStatement node, object? arg) => new TreeDumperNode("forEachStatement", null, new TreeDumperNode[]
Lowering\Instrumentation\CodeCoverageInstrumenter.cs (3)
364public override BoundStatement InstrumentForEachStatementIterationVarDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 369public override BoundStatement InstrumentForEachStatementDeconstructionVariablesDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 536syntaxForSpan = ((BoundForEachStatement)statement).Expression.Syntax;
Lowering\Instrumentation\CompoundInstrumenter.cs (5)
104public override BoundStatement? InstrumentForEachStatementCollectionVarDeclaration(BoundForEachStatement original, BoundStatement? collectionVarDecl) 109public override BoundStatement InstrumentForEachStatement(BoundForEachStatement original, BoundStatement rewritten) 114public override BoundStatement InstrumentForEachStatementIterationVarDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 124public override BoundStatement InstrumentForEachStatementConditionalGotoStart(BoundForEachStatement original, BoundStatement branchBack) 252public override BoundStatement InstrumentForEachStatementDeconstructionVariablesDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl)
Lowering\Instrumentation\DebugInfoInjector.cs (5)
269public override BoundStatement InstrumentForEachStatementCollectionVarDeclaration(BoundForEachStatement original, BoundStatement? collectionVarDecl) 276public override BoundStatement InstrumentForEachStatementDeconstructionVariablesDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 290public override BoundStatement InstrumentForEachStatement(BoundForEachStatement original, BoundStatement rewritten) 311public override BoundStatement InstrumentForEachStatementIterationVarDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 343public override BoundStatement InstrumentForEachStatementConditionalGotoStart(BoundForEachStatement original, BoundStatement branchBack)
Lowering\Instrumentation\Instrumenter.cs (5)
143public virtual BoundStatement? InstrumentForEachStatementCollectionVarDeclaration(BoundForEachStatement original, BoundStatement? collectionVarDecl) 150public virtual BoundStatement InstrumentForEachStatement(BoundForEachStatement original, BoundStatement rewritten) 156public virtual BoundStatement InstrumentForEachStatementIterationVarDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 163public virtual BoundStatement InstrumentForEachStatementDeconstructionVariablesDeclaration(BoundForEachStatement original, BoundStatement iterationVarDecl) 170public virtual BoundStatement InstrumentForEachStatementConditionalGotoStart(BoundForEachStatement original, BoundStatement branchBack)
Lowering\Instrumentation\ModuleCancellationInstrumenter.cs (1)
112public override BoundStatement InstrumentForEachStatementConditionalGotoStart(BoundForEachStatement original, BoundStatement branchBack)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (11)
34public override BoundNode VisitForEachStatement(BoundForEachStatement node) 114private BoundStatement RewriteEnumeratorForEachStatement(BoundForEachStatement node) 555private BoundStatement RewriteForEachStatementAsFor<TArg>(BoundForEachStatement node, GetForEachStatementAsForPreamble? getPreamble, GetForEachStatementAsForItem<TArg> getItem, GetForEachStatementAsForLength<TArg> getLength, TArg arg) 698private BoundStatement RewriteForEachStatementAsFor(BoundForEachStatement node, MethodSymbol indexerGet, MethodSymbol lengthGet) 722private BoundStatement RewriteInlineArrayForEachStatementAsFor(BoundForEachStatement node) 861private BoundStatement RewriteSingleDimensionalArrayForEachStatement(BoundForEachStatement node) 1010private BoundStatement RewriteMultiDimensionalArrayForEachStatement(BoundForEachStatement node) 1212private static BoundExpression GetUnconvertedCollectionExpression(BoundForEachStatement node, out Conversion collectionConversion) 1264if (this.Instrument && node is BoundForEachStatement original) 1272if (this.Instrument && node is BoundForEachStatement original) 1288if (this.Instrument && node is BoundForEachStatement original)
Lowering\LocalRewriter\LocalRewriter_ForStatement.cs (1)
149branchBack = Instrumenter.InstrumentForEachStatementConditionalGotoStart((BoundForEachStatement)original, branchBack);
Lowering\LocalRewriter\LocalRewriter_WhileStatement.cs (1)
79ifConditionGotoStart = Instrumenter.InstrumentForEachStatementConditionalGotoStart((BoundForEachStatement)loop, ifConditionGotoStart);
Operations\CSharpOperationFactory.cs (4)
183return CreateBoundForEachStatementOperation((BoundForEachStatement)boundNode); 1887internal ForEachLoopOperationInfo? GetForEachLoopOperatorInfo(BoundForEachStatement boundForEachStatement) 1953internal IOperation CreateBoundForEachStatementLoopControlVariable(BoundForEachStatement boundForEachStatement) 1973private IForEachLoopOperation CreateBoundForEachStatementOperation(BoundForEachStatement boundForEachStatement)