1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
134
return new
ForEachEnumeratorInfo
(
81 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder_Conversions.cs (2)
1172
var
enumeratorInfo = element.EnumeratorInfoOpt;
2383
var
enumeratorInfo = spreadElement.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5388
ForEachEnumeratorInfo
.Builder builder;
5410
var
enumeratorInfo = builder.Build(location: default);
6718
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
125
public
ForEachEnumeratorInfo
Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226
ForEachEnumeratorInfo
.Builder builder;
613
private bool GetAwaitDisposeAsyncInfo(ref
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics)
690
out
ForEachEnumeratorInfo
.Builder builder)
785
out
ForEachEnumeratorInfo
.Builder builder)
835
private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
862
builder = new
ForEachEnumeratorInfo
.Builder();
871
builder = new
ForEachEnumeratorInfo
.Builder();
919
builder = new
ForEachEnumeratorInfo
.Builder();
937
EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
939
builder = new
ForEachEnumeratorInfo
.Builder();
1030
EnumeratorResult createPatternBasedEnumeratorResult(ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1070
private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType)
1197
private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics)
1293
private
ForEachEnumeratorInfo
.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax,
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType)
1333
/// <param name="builder">Builder to fill in. <see cref="
ForEachEnumeratorInfo
.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param>
1338
private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1636
private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics)
1795
ref
ForEachEnumeratorInfo
.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
236
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
711
var
enumeratorInfo = argument.EnumeratorInfoOpt;
Compilation\MemberSemanticModel.cs (1)
983
ForEachEnumeratorInfo
enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
FlowAnalysis\NullableWalker.cs (1)
12313
ForEachEnumeratorInfo
? enumeratorInfoOpt)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
242
private void VisitForEachEnumeratorInfo(
ForEachEnumeratorInfo
enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4096
public 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)
4118
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
4131
public 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)
6642
public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false)
6660
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
6668
public BoundCollectionExpressionSpreadElement Update(BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1494
var
enumeratorInfo = node.EnumeratorInfoOpt;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (10)
121
ForEachEnumeratorInfo
? enumeratorInfo = node.EnumeratorInfoOpt;
143
ForEachEnumeratorInfo
enumeratorInfo,
294
private bool TryGetDisposeMethod(SyntaxNode forEachSyntax,
ForEachEnumeratorInfo
enumeratorInfo, out MethodSymbol disposeMethod)
319
ForEachEnumeratorInfo
enumeratorInfo,
599
ForEachEnumeratorInfo
enumeratorInfo,
706
private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind);
707
private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg);
714
getItem: static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) =>
745
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) =>
766
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) =>
Operations\CSharpOperationFactory.cs (1)
1955
ForEachEnumeratorInfo
? enumeratorInfoOpt = boundForEachStatement.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (12)
CodeGen\CodeGenAwaitForeachTests.cs (12)
2481
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
4409
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
4893
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5026
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5222
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5345
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5479
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
6955
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
7110
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
7389
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
8074
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
8218
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (21)
Semantics\ForEachTests.cs (21)
1721
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1759
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1803
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1847
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1880
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1920
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1962
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2001
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2034
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2065
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2151
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2182
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2215
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2256
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2340
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
2387
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3631
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3677
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3716
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3749
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3783
ForEachEnumeratorInfo
enumeratorInfo = boundNode.EnumeratorInfoOpt;