1 write to EnumeratorInfoOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4055
this.
EnumeratorInfoOpt
= enumeratorInfoOpt;
58 references to EnumeratorInfoOpt
Microsoft.CodeAnalysis.CSharp (22)
Binder\RefSafetyAnalysis.cs (3)
1260
if (node.
EnumeratorInfoOpt
is { InlineArraySpanType: not WellKnownType.Unknown and var spanType, InlineArrayUsedAsValue: false })
1268
resultType: node.
EnumeratorInfoOpt
.GetEnumeratorInfo.Method.ContainingType,
1294
if (node.
EnumeratorInfoOpt
is { MoveNextAwaitableInfo: { } awaitableInfo })
Compilation\MemberSemanticModel.cs (1)
983
ForEachEnumeratorInfo enumeratorInfoOpt = boundForEach.
EnumeratorInfoOpt
;
FlowAnalysis\ExitPointsWalker.cs (1)
143
case BoundKind.ForEachStatement when ((BoundForEachStatement)pending.Branch).
EnumeratorInfoOpt
is { MoveNextAwaitableInfo: not null }:
FlowAnalysis\NullableWalker.cs (3)
11684
Visit(node.
EnumeratorInfoOpt
?.MoveNextAwaitableInfo);
11696
node.
EnumeratorInfoOpt
);
11914
var sourceState = node.
EnumeratorInfoOpt
== null ? default : ResultType;
FlowAnalysis\NullableWalker.DebugVerifier.cs (2)
217
if (node.
EnumeratorInfoOpt
!= null)
219
VisitForEachEnumeratorInfo(node.
EnumeratorInfoOpt
);
Generated\BoundNodes.xml.Generated.cs (4)
4081
if (enumeratorInfoOpt != this.
EnumeratorInfoOpt
|| elementPlaceholder != this.ElementPlaceholder || elementConversion != this.ElementConversion || iterationVariableType != this.IterationVariableType || iterationVariables != this.IterationVariables || iterationErrorExpressionOpt != this.IterationErrorExpressionOpt || expression != this.Expression || deconstructionOpt != this.DeconstructionOpt || body != this.Body || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(breakLabel, this.BreakLabel) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(continueLabel, this.ContinueLabel))
11517
return node.Update(node.
EnumeratorInfoOpt
, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, body, breakLabel, continueLabel);
13622
return node.Update(node.
EnumeratorInfoOpt
, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, body, node.BreakLabel, node.ContinueLabel);
16048
new TreeDumperNode("enumeratorInfoOpt", node.
EnumeratorInfoOpt
, null),
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (5)
57
else if (node.
EnumeratorInfoOpt
is { InlineArraySpanType: not WellKnownType.Unknown })
61
else if (node.
EnumeratorInfoOpt
?.MoveNextAwaitableInfo is null && CanRewriteForEachAsFor(node.Syntax, nodeExpressionType, out var indexerGet, out var lengthGetter))
121
ForEachEnumeratorInfo? enumeratorInfo = node.
EnumeratorInfoOpt
;
566
Debug.Assert(node.
EnumeratorInfoOpt
is not null);
574
node.
EnumeratorInfoOpt
,
Operations\CSharpOperationFactory.cs (3)
1880
ForEachEnumeratorInfo? enumeratorInfoOpt = boundForEachStatement.
EnumeratorInfoOpt
;
1968
IOperation collection = Create(boundForEachStatement.
EnumeratorInfoOpt
?.InlineArraySpanType is null or WellKnownType.Unknown ||
1982
bool isAsynchronous = boundForEachStatement.
EnumeratorInfoOpt
is { MoveNextAwaitableInfo: not null };
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 (24)
Semantics\ForEachTests.cs (24)
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
;
2106
Assert.NotNull(boundNode.
EnumeratorInfoOpt
);
2130
Assert.NotNull(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
;
2452
Assert.Null(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
;