3 writes to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (3)
Binder\RefSafetyAnalysis.cs (3)
102_localScopeDepth = CurrentMethodScope - 1; 115_analysis._localScopeDepth++; 128_analysis._localScopeDepth--;
42 references to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (5)
2089receiver = new BoundCapturedReceiverPlaceholder(receiver.Syntax, receiver, _localScopeDepth, receiver.Type).MakeCompilerGenerated(); 2506SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 2601SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 2897CheckRefEscape(expr.Syntax, expr, _localScopeDepth, escapeTo, checkingReceiver: false, diagnostics: diagnostics); 2901CheckValEscape(expr.Syntax, expr, _localScopeDepth, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
Binder\Binder_Operators.cs (1)
4305var currentScope = _localScopeDepth;
Binder\Binder_Statements.cs (5)
1559var leftEscape = GetRefEscape(op1, _localScopeDepth); 1560var rightEscape = GetRefEscape(op2, _localScopeDepth); 1579leftEscape = GetValEscape(op1, _localScopeDepth); 1580rightEscape = GetValEscape(op2, _localScopeDepth); 1603var leftEscape = GetValEscape(op1, _localScopeDepth);
Binder\RefSafetyAnalysis.cs (31)
118_analysis.AddLocalScopes(local, refEscapeScope: _analysis._localScopeDepth, valEscapeScope: CallingMethodScope); 305? GetValEscape(expr, _localScopeDepth) 306: _localScopeDepth; 319GetAwaitableInstancePlaceholders(placeholders, awaitableInfo, _localScopeDepth); 347using var _2 = new PatternInput(this, GetValEscape(node.Expression, _localScopeDepth)); 354using var _ = new PatternInput(this, GetValEscape(node.Expression, _localScopeDepth)); 401_localScopeDepth : 404_localScopeDepth : 437refEscapeScope >= GetRefEscape(initializer, _localScopeDepth)); 447SetLocalScopes(localSymbol, _localScopeDepth, _localScopeDepth); 449valEscapeScope = GetValEscape(initializer, _localScopeDepth); 452refEscapeScope = GetRefEscape(initializer, _localScopeDepth); 494using var _ = new PatternInput(this, GetValEscape(node.Expression, _localScopeDepth)); 553SetLocalScopes(local, _localScopeDepth, _patternInputValEscape); 597_localScopeDepth, 610placeholders.Add((interpolationData.ReceiverPlaceholder, _localScopeDepth)); 620valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver, _localScopeDepth) : GetValEscape(receiver, _localScopeDepth); 626valEscapeScope = GetValEscape(arguments[argIndex], _localScopeDepth); 651_localScopeDepth, 674_localScopeDepth, 697_localScopeDepth, 707GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo, GetValEscape(node.Expression, _localScopeDepth)); 759placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder, GetValEscape(right, _localScopeDepth))); 772? GetValEscape(variable.Expression, _localScopeDepth) 773: _localScopeDepth; 787_localScopeDepth, 831: new DeconstructionVariable(expr, GetValEscape(expr, _localScopeDepth), null); 856uint collectionEscape = GetValEscape(node.Expression, _localScopeDepth); 861AddLocalScopes(local, refEscapeScope: local.RefKind == RefKind.None ? _localScopeDepth : collectionEscape, valEscapeScope: collectionEscape);