1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
125
return new
ForEachEnumeratorInfo
(
81 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder_Conversions.cs (2)
988
var
enumeratorInfo = element.EnumeratorInfoOpt;
1794
var
enumeratorInfo = spreadElement.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5286
ForEachEnumeratorInfo
.Builder builder;
5306
var
enumeratorInfo = builder.Build(location: default);
6580
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
116
public
ForEachEnumeratorInfo
Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226
ForEachEnumeratorInfo
.Builder builder;
608
private bool GetAwaitDisposeAsyncInfo(ref
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics)
682
out
ForEachEnumeratorInfo
.Builder builder)
777
out
ForEachEnumeratorInfo
.Builder builder)
827
private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
854
builder = new
ForEachEnumeratorInfo
.Builder();
863
builder = new
ForEachEnumeratorInfo
.Builder();
911
builder = new
ForEachEnumeratorInfo
.Builder();
929
EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
931
builder = new
ForEachEnumeratorInfo
.Builder();
1031
EnumeratorResult createPatternBasedEnumeratorResult(ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1071
private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType)
1214
private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics)
1307
private
ForEachEnumeratorInfo
.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax,
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType)
1347
/// <param name="builder">Builder to fill in. <see cref="
ForEachEnumeratorInfo
.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param>
1352
private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1643
private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics)
1802
ref
ForEachEnumeratorInfo
.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
235
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
709
var
enumeratorInfo = argument.EnumeratorInfoOpt;
Compilation\MemberSemanticModel.cs (1)
952
ForEachEnumeratorInfo
enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
FlowAnalysis\NullableWalker.cs (1)
11571
ForEachEnumeratorInfo
? enumeratorInfoOpt,
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
229
private void VisitForEachEnumeratorInfo(
ForEachEnumeratorInfo
enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4036
public BoundForEachStatement(SyntaxNode syntax,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel, bool hasErrors = false)
4059
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
4073
public BoundForEachStatement Update(
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, LabelSymbol breakLabel, LabelSymbol continueLabel)
6506
public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false)
6524
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
6532
public BoundCollectionExpressionSpreadElement Update(BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1326
var
enumeratorInfo = node.EnumeratorInfoOpt;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (10)
116
ForEachEnumeratorInfo
? enumeratorInfo = node.EnumeratorInfoOpt;
139
ForEachEnumeratorInfo
enumeratorInfo,
290
private bool TryGetDisposeMethod(SyntaxNode forEachSyntax,
ForEachEnumeratorInfo
enumeratorInfo, out MethodSymbol disposeMethod)
310
ForEachEnumeratorInfo
enumeratorInfo,
587
ForEachEnumeratorInfo
enumeratorInfo,
694
private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind);
695
private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg);
702
getItem: static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) =>
733
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) =>
754
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) =>
Operations\CSharpOperationFactory.cs (1)
1889
ForEachEnumeratorInfo
? enumeratorInfoOpt = boundForEachStatement.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (12)
CodeGen\CodeGenAwaitForeachTests.cs (12)
2481
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
4415
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
4899
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5032
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5228
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5351
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
5485
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
6967
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
7123
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
7402
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
8087
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
8231
ForEachEnumeratorInfo
internalInfo = boundNode.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (21)
Semantics\ForEachTests.cs (21)
1205
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1243
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1287
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1331
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1364
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1404
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1446
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1485
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1518
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1549
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1635
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1666
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1699
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1740
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1824
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
1871
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3115
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3161
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3200
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3233
ForEachEnumeratorInfo
info = boundNode.EnumeratorInfoOpt;
3267
ForEachEnumeratorInfo
enumeratorInfo = boundNode.EnumeratorInfoOpt;