3 instantiations of BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder_Await.cs (1)
68
return new
BoundAwaitableInfo
(node, getAwaiterPlaceholder, isDynamic: isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitPlaceholder, hasErrors: hasGetAwaitableErrors) { WasCompilerGenerated = true };
Binder\UsingStatementBinder.cs (1)
153
awaitOpt = 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)
2161
var result = new
BoundAwaitableInfo
(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitCallPlaceholder, this.HasErrors);
58 references to BoundAwaitableInfo
Microsoft.CodeAnalysis.CSharp (58)
Binder\Binder_Await.cs (2)
35
var
info = BindAwaitInfo(placeholder, node, diagnostics, ref hasErrors, expressionOpt: expression);
52
internal
BoundAwaitableInfo
BindAwaitInfo(BoundAwaitableValuePlaceholder getAwaiterPlaceholder, SyntaxNode node, BindingDiagnosticBag diagnostics, ref bool hasErrors, BoundExpression? expressionOpt = null)
Binder\ForEachEnumeratorInfo.cs (6)
31
public readonly
BoundAwaitableInfo
? MoveNextAwaitableInfo;
45
public readonly
BoundAwaitableInfo
? DisposeAwaitableInfo;
64
BoundAwaitableInfo
? moveNextAwaitableInfo,
67
BoundAwaitableInfo
? disposeAwaitableInfo,
115
public
BoundAwaitableInfo
? MoveNextAwaitableInfo;
119
public
BoundAwaitableInfo
? DisposeAwaitableInfo;
Binder\ForEachLoopBinder.cs (1)
233
BoundAwaitableInfo
moveNextAwaitableInfo = null;
Binder\RefSafetyAnalysis.cs (1)
1071
private void GetAwaitableInstancePlaceholders(ArrayBuilder<(BoundValuePlaceholderBase, SafeContextAndLocation)> placeholders,
BoundAwaitableInfo
awaitableInfo, SafeContext valEscapeScope)
Binder\UsingStatementBinder.cs (1)
145
BoundAwaitableInfo
? awaitOpt = null;
Compilation\MemberSemanticModel.cs (4)
925
BoundAwaitableInfo
? awaitableInfo = (((bound as BoundExpressionStatement)?.Expression ?? bound) as BoundAwaitExpression)?.AwaitableInfo;
937
var
awaitableInfo = (bound as BoundUsingLocalDeclarations)?.AwaitOpt;
949
var
awaitableInfo = (bound as BoundUsingStatement)?.AwaitOpt;
953
private static AwaitExpressionInfo GetAwaitExpressionInfo(
BoundAwaitableInfo
? awaitableInfo)
Compilation\MemberSemanticModel.NodeMapBuilder.cs (1)
291
public override BoundNode VisitAwaitableInfo(
BoundAwaitableInfo
node)
FlowAnalysis\NullableWalker.cs (3)
11887
if (enumeratorInfoOpt is { NeedsDisposal: true, DisposeAwaitableInfo:
BoundAwaitableInfo
awaitDisposalInfo })
12383
var
awaitableInfo = node.AwaitableInfo;
13051
public override BoundNode? VisitAwaitableInfo(
BoundAwaitableInfo
node)
Generated\BoundNodes.xml.Generated.cs (28)
2157
public
BoundAwaitableInfo
Update(BoundAwaitableValuePlaceholder? awaitableInstancePlaceholder, bool isDynamic, BoundExpression? getAwaiter, PropertySymbol? isCompleted, MethodSymbol? getResult, BoundCall? runtimeAsyncAwaitCall, BoundAwaitableValuePlaceholder? runtimeAsyncAwaitCallPlaceholder)
2161
var
result = new BoundAwaitableInfo(this.Syntax, awaitableInstancePlaceholder, isDynamic, getAwaiter, isCompleted, getResult, runtimeAsyncAwaitCall, runtimeAsyncAwaitCallPlaceholder, this.HasErrors);
2171
public BoundAwaitExpression(SyntaxNode syntax, BoundExpression expression,
BoundAwaitableInfo
awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type, bool hasErrors = false)
2186
public
BoundAwaitableInfo
AwaitableInfo { get; }
2192
public BoundAwaitExpression Update(BoundExpression expression,
BoundAwaitableInfo
awaitableInfo, BoundAwaitExpressionDebugInfo debugInfo, TypeSymbol type)
3476
public BoundUsingLocalDeclarations(SyntaxNode syntax, MethodArgumentInfo? patternDisposeInfoOpt,
BoundAwaitableInfo
? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations, bool hasErrors = false)
3487
public
BoundAwaitableInfo
? AwaitOpt { get; }
3492
public BoundUsingLocalDeclarations Update(MethodArgumentInfo? patternDisposeInfoOpt,
BoundAwaitableInfo
? awaitOpt, ImmutableArray<BoundLocalDeclaration> localDeclarations)
4116
public BoundUsingStatement(SyntaxNode syntax, ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body,
BoundAwaitableInfo
? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt, bool hasErrors = false)
4135
public
BoundAwaitableInfo
? AwaitOpt { get; }
4141
public BoundUsingStatement Update(ImmutableArray<LocalSymbol> locals, BoundMultipleLocalDeclarations? declarationsOpt, BoundExpression? expressionOpt, BoundStatement body,
BoundAwaitableInfo
? awaitOpt, MethodArgumentInfo? patternDisposeInfoOpt)
8973
return VisitAwaitableInfo((
BoundAwaitableInfo
)node, arg);
9393
public virtual R VisitAwaitableInfo(
BoundAwaitableInfo
node, A arg) => this.DefaultVisit(node, arg);
9629
public virtual BoundNode? VisitAwaitableInfo(
BoundAwaitableInfo
node) => this.DefaultVisit(node);
10022
public override BoundNode? VisitAwaitableInfo(
BoundAwaitableInfo
node)
11180
public override BoundNode? VisitAwaitableInfo(
BoundAwaitableInfo
node)
11193
BoundAwaitableInfo
awaitableInfo = (
BoundAwaitableInfo
)this.Visit(node.AwaitableInfo);
11400
BoundAwaitableInfo
? awaitOpt = (
BoundAwaitableInfo
?)this.Visit(node.AwaitOpt);
11523
BoundAwaitableInfo
? awaitOpt = (
BoundAwaitableInfo
?)this.Visit(node.AwaitOpt);
13117
public override BoundNode? VisitAwaitableInfo(
BoundAwaitableInfo
node)
13131
BoundAwaitableInfo
awaitableInfo = (
BoundAwaitableInfo
)this.Visit(node.AwaitableInfo);
13623
BoundAwaitableInfo
? awaitOpt = (
BoundAwaitableInfo
?)this.Visit(node.AwaitOpt);
15614
public override TreeDumperNode VisitAwaitableInfo(
BoundAwaitableInfo
node, object? arg) => new TreeDumperNode("awaitableInfo", null, new TreeDumperNode[]
Lowering\AsyncRewriter\RuntimeAsyncRewriter.cs (2)
113
var
awaitableInfo = node.AwaitableInfo;
163
var
awaitableInfo = node.AwaitableInfo;
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
120
public override BoundNode VisitAwaitableInfo(
BoundAwaitableInfo
node)
Lowering\LocalRewriter\LocalRewriter_Await.cs (1)
23
private BoundExpression RewriteAwaitExpression(SyntaxNode syntax, BoundExpression rewrittenExpression,
BoundAwaitableInfo
awaitableInfo, TypeSymbol type, BoundAwaitExpressionDebugInfo debugInfo, bool used)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (3)
230
var
moveNextAwaitableInfo = enumeratorInfo.MoveNextAwaitableInfo;
379
var
disposeAwaitableInfoOpt = enumeratorInfo.DisposeAwaitableInfo;
479
private BoundStatement WrapWithAwait(SyntaxNode forEachSyntax, BoundExpression disposeCall,
BoundAwaitableInfo
disposeAwaitableInfoOpt)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (4)
67
BoundAwaitableInfo
? awaitOpt,
211
BoundAwaitableInfo
? awaitOpt,
285
BoundAwaitableInfo
? awaitOpt,
439
BoundAwaitableInfo
? awaitOpt,