1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
134return new ForEachEnumeratorInfo(
48 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder_Conversions.cs (2)
1191var enumeratorInfo = element.EnumeratorInfoOpt; 2409var enumeratorInfo = spreadElement.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5388ForEachEnumeratorInfo.Builder builder; 5410var enumeratorInfo = builder.Build(location: default); 6719var enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
125public ForEachEnumeratorInfo Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226ForEachEnumeratorInfo.Builder builder; 613private bool GetAwaitDisposeAsyncInfo(ref ForEachEnumeratorInfo.Builder builder, BindingDiagnosticBag diagnostics) 690out ForEachEnumeratorInfo.Builder builder) 785out ForEachEnumeratorInfo.Builder builder) 835private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 862builder = new ForEachEnumeratorInfo.Builder(); 871builder = new ForEachEnumeratorInfo.Builder(); 919builder = new ForEachEnumeratorInfo.Builder(); 937EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 939builder = new ForEachEnumeratorInfo.Builder(); 1030EnumeratorResult createPatternBasedEnumeratorResult(ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics) 1070private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType) 1197private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics) 1298private ForEachEnumeratorInfo.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax, ForEachEnumeratorInfo.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType) 1338/// <param name="builder">Builder to fill in. <see cref="ForEachEnumeratorInfo.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param> 1343private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics) 1641private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics) 1800ref ForEachEnumeratorInfo.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
236var enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
711var enumeratorInfo = argument.EnumeratorInfoOpt;
Compilation\MemberSemanticModel.cs (1)
983ForEachEnumeratorInfo enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
FlowAnalysis\NullableWalker.cs (1)
12368ForEachEnumeratorInfo? enumeratorInfoOpt)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
242private void VisitForEachEnumeratorInfo(ForEachEnumeratorInfo enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4096public BoundForEachStatement(SyntaxNode syntax, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false) 4118public ForEachEnumeratorInfo? EnumeratorInfoOpt { get; } 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) 6642public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false) 6660public ForEachEnumeratorInfo? EnumeratorInfoOpt { get; } 6668public BoundCollectionExpressionSpreadElement Update(BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1494var enumeratorInfo = node.EnumeratorInfoOpt;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (10)
121ForEachEnumeratorInfo? enumeratorInfo = node.EnumeratorInfoOpt; 143ForEachEnumeratorInfo enumeratorInfo, 294private bool TryGetDisposeMethod(SyntaxNode forEachSyntax, ForEachEnumeratorInfo enumeratorInfo, out MethodSymbol disposeMethod) 319ForEachEnumeratorInfo enumeratorInfo, 599ForEachEnumeratorInfo enumeratorInfo, 706private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind); 707private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg); 714getItem: static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) => 745return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) => 766return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) =>
Operations\CSharpOperationFactory.cs (1)
1955ForEachEnumeratorInfo? enumeratorInfoOpt = boundForEachStatement.EnumeratorInfoOpt;