1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
134
return new
ForEachEnumeratorInfo
(
48 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder_Conversions.cs (2)
1190
var
enumeratorInfo = element.EnumeratorInfoOpt;
2408
var
enumeratorInfo = spreadElement.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5403
ForEachEnumeratorInfo
.Builder builder;
5425
var
enumeratorInfo = builder.Build(location: default);
6735
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)
790
out
ForEachEnumeratorInfo
.Builder builder)
840
private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
867
builder = new
ForEachEnumeratorInfo
.Builder();
876
builder = new
ForEachEnumeratorInfo
.Builder();
924
builder = new
ForEachEnumeratorInfo
.Builder();
942
EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
944
builder = new
ForEachEnumeratorInfo
.Builder();
1035
EnumeratorResult createPatternBasedEnumeratorResult(ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1075
private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType)
1202
private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics)
1303
private
ForEachEnumeratorInfo
.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax,
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType)
1343
/// <param name="builder">Builder to fill in. <see cref="
ForEachEnumeratorInfo
.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param>
1348
private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1646
private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics)
1805
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)
990
ForEachEnumeratorInfo
enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
FlowAnalysis\NullableWalker.cs (1)
12435
ForEachEnumeratorInfo
? enumeratorInfoOpt)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
243
private void VisitForEachEnumeratorInfo(
ForEachEnumeratorInfo
enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4077
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)
4099
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
4112
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)
6623
public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false)
6641
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
6649
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;