1 instantiation of ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
124
return new
ForEachEnumeratorInfo
(
47 references to ForEachEnumeratorInfo
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder_Conversions.cs (1)
736
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Binder_Expressions.cs (3)
5185
ForEachEnumeratorInfo
.Builder builder;
5205
var
enumeratorInfo = builder.Build(location: default);
6421
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\ForEachEnumeratorInfo.cs (1)
115
public
ForEachEnumeratorInfo
Build(BinderFlags location)
Binder\ForEachLoopBinder.cs (19)
226
ForEachEnumeratorInfo
.Builder builder;
593
private bool GetAwaitDisposeAsyncInfo(ref
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics)
667
out
ForEachEnumeratorInfo
.Builder builder)
762
out
ForEachEnumeratorInfo
.Builder builder)
812
private EnumeratorResult GetEnumeratorInfoCore(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
839
builder = new
ForEachEnumeratorInfo
.Builder();
848
builder = new
ForEachEnumeratorInfo
.Builder();
896
builder = new
ForEachEnumeratorInfo
.Builder();
914
EnumeratorResult getEnumeratorInfo(SyntaxNode syntax, SyntaxNode collectionSyntax, ref BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, out
ForEachEnumeratorInfo
.Builder builder)
916
builder = new
ForEachEnumeratorInfo
.Builder();
1016
EnumeratorResult createPatternBasedEnumeratorResult(ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1042
private EnumeratorResult SatisfiesIEnumerableInterfaces(SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, BindingDiagnosticBag diagnostics, TypeSymbol unwrappedCollectionExprType)
1185
private void GetDisposalInfoForEnumerator(SyntaxNode syntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression expr, bool isAsync, BindingDiagnosticBag diagnostics)
1277
private
ForEachEnumeratorInfo
.Builder GetDefaultEnumeratorInfo(SyntaxNode syntax,
ForEachEnumeratorInfo
.Builder builder, BindingDiagnosticBag diagnostics, TypeSymbol collectionExprType)
1317
/// <param name="builder">Builder to fill in. <see cref="
ForEachEnumeratorInfo
.Builder.GetEnumeratorInfo"/> set if the pattern in satisfied.</param>
1322
private bool SatisfiesGetEnumeratorPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, BoundExpression collectionExpr, bool isAsync, bool viaExtensionMethod, BindingDiagnosticBag diagnostics)
1591
private bool SatisfiesForEachPattern(SyntaxNode syntax, SyntaxNode collectionSyntax, ref
ForEachEnumeratorInfo
.Builder builder, bool isAsync, BindingDiagnosticBag diagnostics)
1750
ref
ForEachEnumeratorInfo
.Builder builder,
Binder\Semantics\Conversions\Conversions.cs (1)
233
var
enumeratorInfo = element.EnumeratorInfoOpt;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
683
var
enumeratorInfo = argument.EnumeratorInfoOpt;
Compilation\MemberSemanticModel.cs (1)
950
ForEachEnumeratorInfo
enumeratorInfoOpt = boundForEach.EnumeratorInfoOpt;
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, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol 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, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol 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)
1275
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,
602
ForEachEnumeratorInfo
enumeratorInfo,
709
private delegate BoundStatement? GetForEachStatementAsForPreamble(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind);
710
private delegate BoundExpression GetForEachStatementAsForItem<TArg>(LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, TArg arg);
717
getItem: static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, (MethodSymbol indexerGet, MethodSymbol lengthGet) arg) =>
748
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, ref BoundExpression rewrittenExpression, out LocalSymbol? preambleLocal, out RefKind collectionTempRefKind) =>
769
return static (LocalRewriter rewriter, SyntaxNode syntax,
ForEachEnumeratorInfo
enumeratorInfo, BoundLocal boundArrayVar, BoundLocal boundPositionVar, object? _) =>
Operations\CSharpOperationFactory.cs (1)
1860
ForEachEnumeratorInfo
? enumeratorInfoOpt = boundForEachStatement.EnumeratorInfoOpt;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (2)
Semantics\ForEachTests.cs (2)
3161
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;
3200
var
enumeratorInfo = boundNode.EnumeratorInfoOpt;