3 instantiations of BoundAwaitExpression
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Await.cs (1)
43return new BoundAwaitExpression(node, expression, info, debugInfo: default, awaitExpressionType, hasErrors);
Generated\BoundNodes.xml.Generated.cs (1)
2243var result = new BoundAwaitExpression(this.Syntax, expression, awaitableInfo, debugInfo, type, this.HasErrors);
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
25return RewriteAwaitExpression(new BoundAwaitExpression(syntax, rewrittenExpression, awaitableInfo, debugInfo, type) { WasCompilerGenerated = true }, used);
42 references to BoundAwaitExpression
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder_Await.cs (1)
29private BoundAwaitExpression BindAwait(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics)
Binder\RefSafetyAnalysis.cs (1)
1076public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
BoundTree\BoundAwaitExpressionDebugInfo.cs (8)
10/// Debug info associated with <see cref="BoundAwaitExpression"/> to support EnC. 16/// Any time multiple <see cref="BoundAwaitExpression"/>s might be associated with the same syntax node 18/// regardless of the actual number of <see cref="BoundAwaitExpression"/>s that get emitted. 20/// To do so one or more of the emitted <see cref="BoundAwaitExpression"/>s may 22/// (one for each <see cref="BoundAwaitExpression"/> plus total reserved states) is constant 25/// E.g. `await foreach` produces at least one and at most two <see cref="BoundAwaitExpression"/>s: 28/// If the enumerator is async-disposable it produces two <see cref="BoundAwaitExpression"/>s with 31/// If the enumerator is not async-disposable it produces a single <see cref="BoundAwaitExpression"/> with
BoundTree\BoundNode_Source.cs (1)
207case BoundAwaitExpression awaitExpression:
BoundTree\BoundNodeExtensions.cs (1)
94public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
Compilation\CSharpSemanticModel.cs (2)
3582var await = (BoundAwaitExpression)boundNode;
Compilation\MemberSemanticModel.cs (1)
925BoundAwaitableInfo? awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo;
FlowAnalysis\AbstractFlowPass.cs (1)
2823public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
FlowAnalysis\NullableWalker.cs (1)
12563public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
Generated\BoundNodes.xml.Generated.cs (10)
2239public BoundAwaitExpression Update(BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type) 2243var result = new BoundAwaitExpression(this.Syntax, expression, awaitableInfo, debugInfo, type, this.HasErrors); 9080return VisitAwaitExpression((BoundAwaitExpression)node, arg); 9502public virtual R VisitAwaitExpression(BoundAwaitExpression node, A arg) => this.DefaultVisit(node, arg); 9740public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 10142public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11315public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13275public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13279BoundAwaitExpression updatedNode; 15771public override TreeDumperNode VisitAwaitExpression(BoundAwaitExpression node, object? arg) => new TreeDumperNode("awaitExpression", null, new TreeDumperNode[]
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (1)
956public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (4)
317return VisitAwaitExpression((BoundAwaitExpression)node.Expression, resultPlace: null); 324return VisitAwaitExpression((BoundAwaitExpression)expression.Right, resultPlace: expression.Left); 332public sealed override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 348private BoundBlock VisitAwaitExpression(BoundAwaitExpression node, BoundExpression resultPlace)
Lowering\AsyncRewriter\AsyncRewriter.cs (1)
313public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (2)
108public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 152private BoundExpression RewriteCustomAwaiterAwait(BoundAwaitExpression node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (2)
13public override BoundNode VisitAwaitExpression(BoundAwaitExpression node) 18public BoundExpression VisitAwaitExpression(BoundAwaitExpression node, bool used)
Lowering\LocalRewriter\LocalRewriter_ExpressionStatement.cs (1)
51return VisitAwaitExpression((BoundAwaitExpression)expression, used: false);
Lowering\SpillSequenceSpiller.cs (1)
751public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
193public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Operations\CSharpOperationFactory.cs (2)
136return CreateBoundAwaitExpressionOperation((BoundAwaitExpression)boundNode); 1656private IAwaitOperation CreateBoundAwaitExpressionOperation(BoundAwaitExpression boundAwaitExpression)