1 instantiation of BoundForEachStatement
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4078var 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)
1067public 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)
943BoundForEachStatement boundForEach = (BoundForEachStatement)GetUpperBoundNode(node); 1017var boundForEach = (BoundForEachStatement)GetUpperBoundNode(node);
FlowAnalysis\AbstractFlowPass.cs (3)
2870public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2890protected virtual void VisitForEachExpression(BoundForEachStatement node) 2895public virtual void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\DefiniteAssignment.cs (3)
436var foreachStatement = (BoundForEachStatement)pendingBranch; 2762public 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)
3473public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 6743if (node is BoundForEachStatement { EnumeratorInfoOpt: { GetEnumeratorInfo: { Method: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } } }) 10894protected override void VisitForEachExpression(BoundForEachStatement node) 11125public override void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
216public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
126public override void VisitForEachIterationVariables(BoundForEachStatement node)
Generated\BoundNodes.xml.Generated.cs (9)
4074public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel) 4078var result = new BoundForEachStatement(this.Syntax, enumeratorInfoOpt, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, awaitOpt, body, breakLabel, continueLabel, this.HasErrors); 9078return VisitForEachStatement((BoundForEachStatement)node, arg); 9445public virtual R VisitForEachStatement(BoundForEachStatement node, A arg) => this.DefaultVisit(node, arg); 9681public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 10213public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11424public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13466public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 15907public 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)
33public override BoundNode VisitForEachStatement(BoundForEachStatement node) 113private BoundStatement RewriteEnumeratorForEachStatement(BoundForEachStatement node) 568private BoundStatement RewriteForEachStatementAsFor<TArg>(BoundForEachStatement node, GetForEachStatementAsForPreamble? getPreamble, GetForEachStatementAsForItem<TArg> getItem, GetForEachStatementAsForLength<TArg> getLength, TArg arg) 711private BoundStatement RewriteForEachStatementAsFor(BoundForEachStatement node, MethodSymbol indexerGet, MethodSymbol lengthGet) 735private BoundStatement RewriteInlineArrayForEachStatementAsFor(BoundForEachStatement node) 874private BoundStatement RewriteSingleDimensionalArrayForEachStatement(BoundForEachStatement node) 1023private BoundStatement RewriteMultiDimensionalArrayForEachStatement(BoundForEachStatement node) 1225private static BoundExpression GetUnconvertedCollectionExpression(BoundForEachStatement node, out Conversion collectionConversion) 1277if (this.Instrument && node is BoundForEachStatement original) 1285if (this.Instrument && node is BoundForEachStatement original) 1301if (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)