3 instantiations of BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Await.cs (1)
68return new BoundAwaitableInfo(node, getAwaiterPlaceholder, isDynamic: isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitPlaceholder, hasErrors: hasGetAwaitableErrors) { WasCompilerGenerated = true };
Binder\UsingStatementBinder.cs (1)
153awaitOpt = new BoundAwaitableInfo(syntax, awaitableInstancePlaceholder: null, isDynamic: true, getAwaiter: null, isCompleted: null, getResult: null, runtimeAsyncAwaitCall: null, runtimeAsyncAwaitCallPlaceholder: null) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
2205var result = new BoundAwaitableInfo(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitCallPlaceholder, this.HasErrors);
59 references to BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (59)
Binder\Binder_Await.cs (2)
35var info = BindAwaitInfo(placeholder, node, diagnostics, ref hasErrors, expressionOpt: expression); 52internal BoundAwaitableInfo BindAwaitInfo(BoundAwaitableValuePlaceholder getAwaiterPlaceholder, SyntaxNode node, BindingDiagnosticBag diagnostics, ref bool hasErrors, BoundExpression? expressionOpt = null)
Binder\ForEachEnumeratorInfo.cs (6)
31public readonly BoundAwaitableInfo? MoveNextAwaitableInfo; 45public readonly BoundAwaitableInfo? DisposeAwaitableInfo; 64BoundAwaitableInfo? moveNextAwaitableInfo, 67BoundAwaitableInfo? disposeAwaitableInfo, 115public BoundAwaitableInfo? MoveNextAwaitableInfo; 119public BoundAwaitableInfo? DisposeAwaitableInfo;
Binder\ForEachLoopBinder.cs (1)
233BoundAwaitableInfo moveNextAwaitableInfo = null;
Binder\RefSafetyAnalysis.cs (1)
1123private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders, BoundAwaitableInfo awaitableInfo, SafeContext valEscapeScope)
Binder\UsingStatementBinder.cs (1)
145BoundAwaitableInfo? awaitOpt = null;
Compilation\MemberSemanticModel.cs (4)
932BoundAwaitableInfo? awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo; 944var awaitableInfo = (bound as BoundUsingLocalDeclarations)?.AwaitOpt; 956var awaitableInfo = (bound as BoundUsingStatement)?.AwaitOpt; 960private static AwaitExpressionInfo GetAwaitExpressionInfo(BoundAwaitableInfo? awaitableInfo)
Compilation\MemberSemanticModel.NodeMapBuilder.cs (1)
291public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node)
FlowAnalysis\NullableWalker.cs (4)
3657private void VisitAwaitableInfoForUsing(BoundAwaitableInfo? awaitInfo, MethodSymbol? patternDisposeMethod) 12619if (enumeratorInfoOpt is { NeedsDisposal: true, DisposeAwaitableInfo: BoundAwaitableInfo awaitDisposalInfo }) 13105var awaitableInfo = node.AwaitableInfo; 13777public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
Generated\BoundNodes.xml.Generated.cs (28)
2201public BoundAwaitableInfo Update(BoundAwaitableValuePlaceholder? awaitableInstancePlaceholder, bool isDynamic, BoundExpression? getAwaiter, PropertySymbol? isCompleted, MethodSymbol? getResult, BoundCall? runtimeAsyncAwaitCall, BoundAwaitableValuePlaceholder? runtimeAsyncAwaitCallPlaceholder) 2205var result = new BoundAwaitableInfo(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitCallPlaceholder, this.HasErrors); 2215public BoundAwaitExpression(SyntaxNode syntax, BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type, bool hasErrors = false) 2230public BoundAwaitableInfo AwaitableInfo { get; } 2236public BoundAwaitExpression Update(BoundExpression expression, BoundAwaitableInfo awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type) 3526public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3537public BoundAwaitableInfo? AwaitOpt { get; } 3542public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations) 4156public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4175public BoundAwaitableInfo? AwaitOpt { get; } 4181public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt) 9180return VisitAwaitableInfo((BoundAwaitableInfo)node, arg); 9609public virtual R VisitAwaitableInfo(BoundAwaitableInfo node, A arg) => this.DefaultVisit(node, arg); 9850public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 10252public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11449public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 11462BoundAwaitableInfo awaitableInfo = (BoundAwaitableInfo)this.Visit(node.AwaitableInfo); 11669BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 11794BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 13436public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 13450BoundAwaitableInfo awaitableInfo = (BoundAwaitableInfo)this.Visit(node.AwaitableInfo); 13942BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 15960public override TreeDumperNode VisitAwaitableInfo(BoundAwaitableInfo node, object? arg) => new TreeDumperNode("awaitableInfo", null, new TreeDumperNode[]
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (2)
136var awaitableInfo = node.AwaitableInfo; 180var awaitableInfo = node.AwaitableInfo;
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
120public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
23private BoundExpression RewriteAwaitExpression(SyntaxNode syntax, BoundExpression rewrittenExpression, BoundAwaitableInfo awaitableInfo, TypeSymbol type, BoundAwaitExpressionDebugInfo debugInfo, bool used)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
230var moveNextAwaitableInfo = enumeratorInfo.MoveNextAwaitableInfo; 385var disposeAwaitableInfoOpt = enumeratorInfo.DisposeAwaitableInfo; 485private BoundStatement WrapWithAwait(SyntaxNode forEachSyntax, BoundExpression disposeCall, BoundAwaitableInfo disposeAwaitableInfoOpt)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (4)
67BoundAwaitableInfo? awaitOpt, 211BoundAwaitableInfo? awaitOpt, 285BoundAwaitableInfo? awaitOpt, 439BoundAwaitableInfo? awaitOpt,