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)
2244var 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);
43 references to BoundAwaitExpression
Microsoft.CodeAnalysis.CSharp (43)
Binder\Binder_Await.cs (1)
29private BoundAwaitExpression BindAwait(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics)
Binder\RefSafetyAnalysis.cs (1)
1167public 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\BoundNodeExtensions.cs (1)
94public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
Compilation\CSharpSemanticModel.cs (2)
3589var await = (BoundAwaitExpression)boundNode;
Compilation\MemberSemanticModel.cs (1)
932BoundAwaitableInfo? awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo;
FlowAnalysis\AbstractFlowPass.cs (1)
2834public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
FlowAnalysis\NullableWalker.cs (1)
13197public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
Generated\BoundNodes.xml.Generated.cs (10)
2240public BoundAwaitExpression Update(BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type) 2244var result = new BoundAwaitExpression(this.Syntax, expression, awaitableInfo, debugInfo, type, this.HasErrors); 9186return VisitAwaitExpression((BoundAwaitExpression)node, arg); 9614public virtual R VisitAwaitExpression(BoundAwaitExpression node, A arg) => this.DefaultVisit(node, arg); 9855public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 10264public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11463public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13451public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13455BoundAwaitExpression updatedNode; 15977public 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 (4)
132public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 170private BoundExpression RewriteCustomAwaiterAwait(BoundAwaitExpression node) 229private BoundExpression RewriteDynamicAwaiterAwait(BoundAwaitExpression node, bool resultDiscarded) 422if (node.Expression is BoundAwaitExpression { AwaitableInfo.IsDynamic: true } awaitExpression)
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)
799public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
193public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Operations\CSharpOperationFactory.cs (2)
136return CreateBoundAwaitExpressionOperation((BoundAwaitExpression)boundNode); 1700private IAwaitOperation CreateBoundAwaitExpressionOperation(BoundAwaitExpression boundAwaitExpression)