1 write to MoveNextAwaitableInfo
Microsoft.CodeAnalysis.CSharp (1)
Binder\ForEachEnumeratorInfo.cs (1)
92this.MoveNextAwaitableInfo = moveNextAwaitableInfo;
12 references to MoveNextAwaitableInfo
Microsoft.CodeAnalysis.CSharp (12)
Binder\ForEachEnumeratorInfo.cs (1)
39/// True if this was written as an 'await foreach'. This does not guarantee that <see cref="MoveNextAwaitableInfo"/> is not null, as there
Binder\RefSafetyAnalysis.cs (1)
1274if (node.EnumeratorInfoOpt is { MoveNextAwaitableInfo: { } awaitableInfo })
Compilation\MemberSemanticModel.cs (1)
1001var moveNextAwaitableInfo = GetAwaitExpressionInfo(enumeratorInfoOpt.MoveNextAwaitableInfo);
FlowAnalysis\ExitPointsWalker.cs (1)
143case BoundKind.ForEachStatement when ((BoundForEachStatement)pending.Branch).EnumeratorInfoOpt is { MoveNextAwaitableInfo: not null }:
FlowAnalysis\NullableWalker.cs (3)
11685Visit(node.EnumeratorInfoOpt?.MoveNextAwaitableInfo); 11770bool isAsync = enumeratorInfoOpt?.MoveNextAwaitableInfo != null; 11876if (enumeratorInfoOpt is { MoveNextAwaitableInfo: { AwaitableInstancePlaceholder: BoundAwaitableValuePlaceholder moveNextPlaceholder } awaitMoveNextInfo })
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
230Visit(enumeratorInfo.MoveNextAwaitableInfo);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
61else if (node.EnumeratorInfoOpt?.MoveNextAwaitableInfo is null && CanRewriteForEachAsFor(node.Syntax, nodeExpressionType, out var indexerGet, out var lengthGetter)) 153bool isAsync = enumeratorInfo.MoveNextAwaitableInfo != null; 230var moveNextAwaitableInfo = enumeratorInfo.MoveNextAwaitableInfo;
Operations\CSharpOperationFactory.cs (1)
1991bool isAsynchronous = boundForEachStatement.EnumeratorInfoOpt is { MoveNextAwaitableInfo: not null };