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)
2246var 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);
44 references to BoundAwaitExpression
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder_Await.cs (1)
29private BoundAwaitExpression BindAwait(BoundExpression expression, SyntaxNode node, BindingDiagnosticBag diagnostics)
Binder\RefSafetyAnalysis.cs (1)
1085public 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)
3589var await = (BoundAwaitExpression)boundNode;
Compilation\MemberSemanticModel.cs (1)
925BoundAwaitableInfo? awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo;
FlowAnalysis\AbstractFlowPass.cs (1)
2824public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
FlowAnalysis\NullableWalker.cs (1)
13034public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node)
Generated\BoundNodes.xml.Generated.cs (10)
2242public BoundAwaitExpression Update(BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type) 2246var result = new BoundAwaitExpression(this.Syntax, expression, awaitableInfo, debugInfo, type, this.HasErrors); 9202return VisitAwaitExpression((BoundAwaitExpression)node, arg); 9630public virtual R VisitAwaitExpression(BoundAwaitExpression node, A arg) => this.DefaultVisit(node, arg); 9871public virtual BoundNode? VisitAwaitExpression(BoundAwaitExpression node) => this.DefaultVisit(node); 10276public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 11466public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13447public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 13451BoundAwaitExpression updatedNode; 15971public 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)
131public override BoundNode? VisitAwaitExpression(BoundAwaitExpression node) 169private BoundExpression RewriteCustomAwaiterAwait(BoundAwaitExpression node) 228private BoundExpression RewriteDynamicAwaiterAwait(BoundAwaitExpression node, bool resultDiscarded) 421if (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)
752public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Lowering\StateMachineRewriter\IteratorAndAsyncCaptureWalker.cs (1)
193public override BoundNode VisitAwaitExpression(BoundAwaitExpression node)
Operations\CSharpOperationFactory.cs (2)
136return CreateBoundAwaitExpressionOperation((BoundAwaitExpression)boundNode); 1681private IAwaitOperation CreateBoundAwaitExpressionOperation(BoundAwaitExpression boundAwaitExpression)