1 write to EnumeratorInfoOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
4047
this.
EnumeratorInfoOpt
= enumeratorInfoOpt;
29 references to EnumeratorInfoOpt
Microsoft.CodeAnalysis.CSharp (29)
Binder\RefSafetyAnalysis.cs (2)
1055
if (node.
EnumeratorInfoOpt
is { InlineArraySpanType: not WellKnownType.Unknown and var spanType, InlineArrayUsedAsValue: false })
1063
resultType: node.
EnumeratorInfoOpt
.GetEnumeratorInfo.Method.ContainingType,
Compilation\MemberSemanticModel.cs (1)
950
ForEachEnumeratorInfo enumeratorInfoOpt = boundForEach.
EnumeratorInfoOpt
;
FlowAnalysis\NullableWalker.cs (12)
6566
if (node is BoundForEachStatement {
EnumeratorInfoOpt
: { GetEnumeratorInfo: { Method: { TypeArgumentsWithAnnotations: { IsEmpty: false } } } } })
10714
if (node.
EnumeratorInfoOpt
?.GetEnumeratorInfo is { Method: { IsExtensionMethod: true, Parameters: var parameters } } enumeratorMethodInfo)
10781
bool reportedDiagnostic = node.
EnumeratorInfoOpt
?.GetEnumeratorInfo.Method is { IsExtensionMethod: true }
10789
if (node.
EnumeratorInfoOpt
is null)
10804
TypeWithAnnotations.Create(node.
EnumeratorInfoOpt
.ElementType, NullableAnnotation.NotAnnotated).ToTypeWithState();
10814
if (node.
EnumeratorInfoOpt
is { InlineArraySpanType: not WellKnownType.Unknown and var wellKnownSpan })
10825
reinferredGetEnumeratorMethod = (MethodSymbol)AsMemberOfType(getEnumeratorType, node.
EnumeratorInfoOpt
.GetEnumeratorInfo.Method);
10838
var currentPropertyGetter = (MethodSymbol)AsMemberOfType(enumeratorReturnType.Type, node.
EnumeratorInfoOpt
.CurrentPropertyGetter);
10847
var moveNextAsyncMethod = (MethodSymbol)AsMemberOfType(reinferredGetEnumeratorMethod.ReturnType, node.
EnumeratorInfoOpt
.MoveNextInfo.Method);
10856
if (node.
EnumeratorInfoOpt
is { NeedsDisposal: true, DisposeAwaitableInfo: BoundAwaitableInfo awaitDisposalInfo })
10860
if (node.
EnumeratorInfoOpt
.PatternDisposeInfo is { Method: var originalDisposeMethod }) // no statically known Dispose method if doing a runtime check
10884
var sourceState = node.
EnumeratorInfoOpt
== null ? default : ResultType;
FlowAnalysis\NullableWalker.DebugVerifier.cs (4)
166
if (node.
EnumeratorInfoOpt
!= null)
168
Visit(node.
EnumeratorInfoOpt
.DisposeAwaitableInfo);
169
if (node.
EnumeratorInfoOpt
.GetEnumeratorInfo.Method.IsExtensionMethod)
171
foreach (var arg in node.
EnumeratorInfoOpt
.GetEnumeratorInfo.Arguments)
Generated\BoundNodes.xml.Generated.cs (4)
4075
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 || awaitOpt != this.AwaitOpt || body != this.Body || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(breakLabel, this.BreakLabel) || !Symbols.SymbolEqualityComparer.ConsiderEverything.Equals(continueLabel, this.ContinueLabel))
11395
return node.Update(node.
EnumeratorInfoOpt
, elementPlaceholder, elementConversion, iterationVariableType, node.IterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, awaitOpt, body, node.BreakLabel, node.ContinueLabel);
13438
return node.Update(node.
EnumeratorInfoOpt
, elementPlaceholder, elementConversion, iterationVariableType, iterationVariables, iterationErrorExpressionOpt, expression, deconstructionOpt, awaitOpt, body, node.BreakLabel, node.ContinueLabel);
15870
new TreeDumperNode("enumeratorInfoOpt", node.
EnumeratorInfoOpt
, null),
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (4)
56
else if (node.
EnumeratorInfoOpt
is { InlineArraySpanType: not WellKnownType.Unknown })
115
ForEachEnumeratorInfo? enumeratorInfo = node.
EnumeratorInfoOpt
;
577
Debug.Assert(node.
EnumeratorInfoOpt
is not null);
585
node.
EnumeratorInfoOpt
,
Operations\CSharpOperationFactory.cs (2)
1860
ForEachEnumeratorInfo? enumeratorInfoOpt = boundForEachStatement.
EnumeratorInfoOpt
;
1948
IOperation collection = Create(boundForEachStatement.
EnumeratorInfoOpt
?.InlineArraySpanType is null or WellKnownType.Unknown ||