1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
134return new ForEachEnumeratorInfo(
81 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder_Conversions.cs (2)
988var enumeratorInfo = element.EnumeratorInfoOpt; 1794var enumeratorInfo = spreadElement.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5306ForEachEnumeratorInfo.Builder builder; 5326var enumeratorInfo = builder.Build(location: default); 6600var enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
125public ForEachEnumeratorInfo Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226ForEachEnumeratorInfo.Builder builder; 611private bool GetAwaitDisposeAsyncInfo(ref ForEachEnumeratorInfo.Builder builder, BindingDiagnosticBag diagnostics) 685out ForEachEnumeratorInfo.Builder builder) 780out ForEachEnumeratorInfo.Builder builder) 830private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 857builder = new ForEachEnumeratorInfo.Builder(); 866builder = new ForEachEnumeratorInfo.Builder(); 914builder = new ForEachEnumeratorInfo.Builder(); 932EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out ForEachEnumeratorInfo.Builder builder) 934builder = new ForEachEnumeratorInfo.Builder(); 1025EnumeratorResult createPatternBasedEnumeratorResult(ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics) 1065private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType) 1192private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics) 1288private ForEachEnumeratorInfo.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax, ForEachEnumeratorInfo.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType) 1328/// <param name="builder">Builder to fill in. <see cref="ForEachEnumeratorInfo.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param> 1333private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics) 1629private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref ForEachEnumeratorInfo.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics) 1788ref ForEachEnumeratorInfo.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
235var 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)
11704ForEachEnumeratorInfo? enumeratorInfoOpt)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
228private void VisitForEachEnumeratorInfo(ForEachEnumeratorInfo enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4044public 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) 4066public ForEachEnumeratorInfo? EnumeratorInfoOpt { get; } 4079public 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) 6516public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false) 6534public ForEachEnumeratorInfo? EnumeratorInfoOpt { get; } 6542public BoundCollectionExpressionSpreadElement Update(BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1397var 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) 314ForEachEnumeratorInfo enumeratorInfo, 591ForEachEnumeratorInfo enumeratorInfo, 698private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind); 699private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg); 706getItem: static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) => 737return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) => 758return static (LocalRewriter rewriter, SyntaxNode syntax, ForEachEnumeratorInfo enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) =>
Operations\CSharpOperationFactory.cs (1)
1880ForEachEnumeratorInfo? enumeratorInfoOpt = boundForEachStatement.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (12)
CodeGen\CodeGenAwaitForeachTests.cs (12)
2481ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 4409ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 4893ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 5026ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 5222ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 5345ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 5479ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 6953ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 7109ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 7388ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 8073ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt; 8217ForEachEnumeratorInfo internalInfo = boundNode.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (21)
Semantics\ForEachTests.cs (21)
1721ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1759ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1803ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1847ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1880ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1920ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 1962ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2001ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2034ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2065ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2151ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2182ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2215ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2256ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2340ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 2387ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 3631ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 3677var enumeratorInfo = boundNode.EnumeratorInfoOpt; 3716var enumeratorInfo = boundNode.EnumeratorInfoOpt; 3749ForEachEnumeratorInfo info = boundNode.EnumeratorInfoOpt; 3783ForEachEnumeratorInfo enumeratorInfo = boundNode.EnumeratorInfoOpt;