3 instantiations of BoundForEachStatement
Microsoft.CodeAnalysis.CSharp (3)
Binder\ForEachLoopBinder.cs (2)
446return new BoundForEachStatement( 597return new BoundForEachStatement(
Generated\BoundNodes.xml.Generated.cs (1)
4135var result = new BoundForEachStatement(this.Syntax, enumeratorInfoOpt, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, body, breakLabel, continueLabel, this.HasErrors);
66 references to BoundForEachStatement
Microsoft.CodeAnalysis.CSharp (66)
Binder\ForEachLoopBinder.cs (2)
182BoundForEachStatement result = BindForEachPartsWorker(diagnostics, originalBinder); 216private BoundForEachStatement BindForEachPartsWorker(BindingDiagnosticBag diagnostics, Binder originalBinder)
Binder\RefSafetyAnalysis.cs (1)
1258public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
BoundTree\BoundNode.cs (1)
718public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
BoundTree\BoundTreeVisitors.cs (1)
94return VisitForEachStatement(node as BoundForEachStatement, arg);
Compilation\MemberSemanticModel.cs (4)
976BoundForEachStatement boundForEach = (BoundForEachStatement)GetUpperBoundNode(node); 1056var boundForEach = (BoundForEachStatement)GetUpperBoundNode(node);
FlowAnalysis\AbstractFlowPass.cs (3)
2947public override BoundNode VisitForEachStatement(BoundForEachStatement node) 2967protected virtual void VisitForEachExpression(BoundForEachStatement node) 2972public virtual void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\DefiniteAssignment.cs (1)
2723public override void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\ExitPointsWalker.cs (2)
86public override BoundNode VisitForEachStatement(BoundForEachStatement node) 143case BoundKind.ForEachStatement when ((BoundForEachStatement)pending.Branch).EnumeratorInfoOpt is { MoveNextAwaitableInfo: not null }:
FlowAnalysis\NullableWalker.cs (4)
3629public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 7476or BoundForEachStatement 12341protected override void VisitForEachExpression(BoundForEachStatement node) 12566public override void VisitForEachIterationVariables(BoundForEachStatement node)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
228public override BoundNode? VisitForEachStatement(BoundForEachStatement node)
FlowAnalysis\VariablesDeclaredWalker.cs (1)
209public override void VisitForEachIterationVariables(BoundForEachStatement node)
Generated\BoundNodes.xml.Generated.cs (9)
4131public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel) 4135var result = new BoundForEachStatement(this.Syntax, enumeratorInfoOpt, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, body, breakLabel, continueLabel, this.HasErrors); 9308return VisitForEachStatement((BoundForEachStatement)node, arg); 9684public virtual R VisitForEachStatement(BoundForEachStatement node, A arg) => this.DefaultVisit(node, arg); 9925public virtual BoundNode? VisitForEachStatement(BoundForEachStatement node) => this.DefaultVisit(node); 10464public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 11775public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 13925public override BoundNode? VisitForEachStatement(BoundForEachStatement node) 16395public 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) 119private BoundStatement RewriteEnumeratorForEachStatement(BoundForEachStatement node) 567private BoundStatement RewriteForEachStatementAsFor<TArg>(BoundForEachStatement node, GetForEachStatementAsForPreamble? getPreamble, GetForEachStatementAsForItem<TArg> getItem, GetForEachStatementAsForLength<TArg> getLength, TArg arg) 710private BoundStatement RewriteForEachStatementAsFor(BoundForEachStatement node, MethodSymbol indexerGet, MethodSymbol lengthGet) 734private BoundStatement RewriteInlineArrayForEachStatementAsFor(BoundForEachStatement node) 873private BoundStatement RewriteSingleDimensionalArrayForEachStatement(BoundForEachStatement node) 1022private BoundStatement RewriteMultiDimensionalArrayForEachStatement(BoundForEachStatement node) 1224private static BoundExpression GetUnconvertedCollectionExpression(BoundForEachStatement node, out Conversion collectionConversion) 1276if (this.Instrument && node is BoundForEachStatement original) 1284if (this.Instrument && node is BoundForEachStatement original) 1300if (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)
182return CreateBoundForEachStatementOperation((BoundForEachStatement)boundNode); 1953internal ForEachLoopOperationInfo? GetForEachLoopOperatorInfo(BoundForEachStatement boundForEachStatement) 2019internal IOperation CreateBoundForEachStatementLoopControlVariable(BoundForEachStatement boundForEachStatement) 2039private IForEachLoopOperation CreateBoundForEachStatementOperation(BoundForEachStatement boundForEachStatement)