3 instantiations of BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Await.cs (1)
65return new BoundAwaitableInfo(node, placeholder, isDynamic: isDynamic, getAwaiter, isCompleted, getResult, hasErrors: hasGetAwaitableErrors) { WasCompilerGenerated = true };
Binder\UsingStatementBinder.cs (1)
153awaitOpt = new BoundAwaitableInfo(syntax, awaitableInstancePlaceholder: null, isDynamic: true, getAwaiter: null, isCompleted: null, getResult: null) { WasCompilerGenerated = true };
Generated\BoundNodes.xml.Generated.cs (1)
2122var result = new BoundAwaitableInfo(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, this.HasErrors);
56 references to BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (56)
Binder\Binder_Await.cs (2)
34var info = BindAwaitInfo(placeholder, node, diagnostics, ref hasErrors, expressionOpt: expression); 51internal BoundAwaitableInfo BindAwaitInfo(BoundAwaitableValuePlaceholder placeholder, SyntaxNode node, BindingDiagnosticBag diagnostics, ref bool hasErrors, BoundExpression? expressionOpt = null)
Binder\ForEachEnumeratorInfo.cs (3)
35public readonly BoundAwaitableInfo? DisposeAwaitableInfo; 54BoundAwaitableInfo? disposeAwaitableInfo, 94public BoundAwaitableInfo? DisposeAwaitableInfo;
Binder\ForEachLoopBinder.cs (1)
218BoundAwaitableInfo awaitInfo = null;
Binder\RefSafetyAnalysis.cs (1)
713private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, uint)> placeholders, BoundAwaitableInfo awaitableInfo, uint valEscapeScope)
Binder\UsingStatementBinder.cs (1)
145BoundAwaitableInfo? awaitOpt = null;
Compilation\MemberSemanticModel.cs (1)
913BoundAwaitableInfo awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo;
Compilation\MemberSemanticModel.NodeMapBuilder.cs (1)
266public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node)
FlowAnalysis\NullableWalker.cs (3)
10123if (node.EnumeratorInfoOpt is { NeedsDisposal: true, DisposeAwaitableInfo: BoundAwaitableInfo awaitDisposalInfo }) 10506var awaitableInfo = node.AwaitableInfo; 11176public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node)
Generated\BoundNodes.xml.Generated.cs (35)
2118public BoundAwaitableInfo Update(BoundAwaitableValuePlaceholder? awaitableInstancePlaceholder, bool isDynamic, BoundExpression? getAwaiter, PropertySymbol? isCompleted, MethodSymbol? getResult) 2122var result = new BoundAwaitableInfo(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, this.HasErrors); 2132public BoundAwaitExpression(SyntaxNode syntax, BoundExpression expression, BoundAwaitableInfo awaitableInfo, TypeSymbol type, bool hasErrors = false) 2146public BoundAwaitableInfo AwaitableInfo { get; } 2151public BoundAwaitExpression Update(BoundExpression expression, BoundAwaitableInfo awaitableInfo, TypeSymbol type) 3365public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false) 3376public BoundAwaitableInfo? AwaitOpt { get; } 3381public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt, BoundAwaitableInfo? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations) 3925public BoundForEachStatement(SyntaxNode syntax, ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel, bool hasErrors = false) 3956public BoundAwaitableInfo? AwaitOpt { get; } 3962public BoundForEachStatement Update(ForEachEnumeratorInfo? enumeratorInfoOpt, BoundValuePlaceholder? elementPlaceholder, BoundExpression? elementConversion, BoundTypeExpression iterationVariableType, ImmutableArray<LocalSymbol> iterationVariables, BoundExpression? iterationErrorExpressionOpt, BoundExpression expression, BoundForEachDeconstructStep? deconstructionOpt, BoundAwaitableInfo? awaitOpt, BoundStatement body, GeneratedLabelSymbol breakLabel, GeneratedLabelSymbol continueLabel) 4007public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false) 4026public BoundAwaitableInfo? AwaitOpt { get; } 4032public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body, BoundAwaitableInfo? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt) 8615return VisitAwaitableInfo((BoundAwaitableInfo)node, arg); 9020public virtual R VisitAwaitableInfo(BoundAwaitableInfo node, A arg) => this.DefaultVisit(node, arg); 9248public virtual BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) => this.DefaultVisit(node); 9629public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10730public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 10739BoundAwaitableInfo awaitableInfo = (BoundAwaitableInfo)this.Visit(node.AwaitableInfo); 10918BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 11000BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 11015BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 12500public override BoundNode? VisitAwaitableInfo(BoundAwaitableInfo node) 12512BoundAwaitableInfo awaitableInfo = (BoundAwaitableInfo)this.Visit(node.AwaitableInfo); 12971BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 12982BoundAwaitableInfo? awaitOpt = (BoundAwaitableInfo?)this.Visit(node.AwaitOpt); 14893public override TreeDumperNode VisitAwaitableInfo(BoundAwaitableInfo node, object? arg) => new TreeDumperNode("awaitableInfo", null, new TreeDumperNode[]
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
22private BoundExpression RewriteAwaitExpression(SyntaxNode syntax, BoundExpression rewrittenExpression, BoundAwaitableInfo awaitableInfo, TypeSymbol type, bool used)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
311var disposeAwaitableInfoOpt = enumeratorInfo.DisposeAwaitableInfo; 429private BoundStatement WrapWithAwait(CommonForEachStatementSyntax forEachSyntax, BoundExpression disposeCall, BoundAwaitableInfo disposeAwaitableInfoOpt)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (4)
66BoundAwaitableInfo? awaitOpt, 210BoundAwaitableInfo? awaitOpt, 284BoundAwaitableInfo? awaitOpt, 439BoundAwaitableInfo? awaitOpt,
Lowering\MethodToClassRewriter.cs (1)
446public override BoundNode VisitAwaitableInfo(BoundAwaitableInfo node)