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