1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
125
return new
ForEachEnumeratorInfo
(
48 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (46)
Binder\Binder_Expressions.cs (3)
5277
ForEachEnumeratorInfo
.Builder builder;
5297
var
enumeratorInfo = builder.Build(location: default);
6571
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
116
public
ForEachEnumeratorInfo
Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226
ForEachEnumeratorInfo
.Builder builder;
604
private bool GetAwaitDisposeAsyncInfo(ref
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics)
678
out
ForEachEnumeratorInfo
.Builder builder)
773
out
ForEachEnumeratorInfo
.Builder builder)
823
private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
850
builder = new
ForEachEnumeratorInfo
.Builder();
859
builder = new
ForEachEnumeratorInfo
.Builder();
907
builder = new
ForEachEnumeratorInfo
.Builder();
925
EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
927
builder = new
ForEachEnumeratorInfo
.Builder();
1027
EnumeratorResult createPatternBasedEnumeratorResult(ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1067
private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType)
1210
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)
1639
private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics)
1798
ref
ForEachEnumeratorInfo
.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
235
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
708
var
enumeratorInfo = argument.EnumeratorInfoOpt;
Compilation\MemberSemanticModel.cs (1)
950
ForEachEnumeratorInfo
enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
FlowAnalysis\NullableWalker.cs (1)
11042
ForEachEnumeratorInfo
? enumeratorInfoOpt,
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
231
private void VisitForEachEnumeratorInfo(
ForEachEnumeratorInfo
enumeratorInfo)
Generated\BoundNodes.xml.Generated.cs (6)
4035
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)
4058
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
4072
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)
6505
public BoundCollectionExpressionSpreadElement(SyntaxNode syntax, BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody, bool hasErrors = false)
6523
public
ForEachEnumeratorInfo
? EnumeratorInfoOpt { get; }
6531
public BoundCollectionExpressionSpreadElement Update(BoundExpression expression, BoundCollectionExpressionSpreadExpressionPlaceholder? expressionPlaceholder, BoundExpression? conversion,
ForEachEnumeratorInfo
? enumeratorInfoOpt, BoundExpression? lengthOrCount, BoundValuePlaceholder? elementPlaceholder, BoundStatement? iteratorBody)
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
1327
var
enumeratorInfo = node.EnumeratorInfoOpt;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (10)
115
ForEachEnumeratorInfo
? enumeratorInfo = node.EnumeratorInfoOpt;
138
ForEachEnumeratorInfo
enumeratorInfo,
290
private bool TryGetDisposeMethod(SyntaxNode forEachSyntax,
ForEachEnumeratorInfo
enumeratorInfo, out MethodSymbol disposeMethod)
310
ForEachEnumeratorInfo
enumeratorInfo,
600
ForEachEnumeratorInfo
enumeratorInfo,
707
private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind);
708
private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg);
715
getItem: static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) =>
746
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) =>
767
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.Semantic.UnitTests (2)
Semantics\ForEachTests.cs (2)
3161
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3200
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;