3 writes to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (3)
Binder\RefSafetyAnalysis.cs (3)
88_localScopeDepth = SafeContext.CurrentMethod; 104_analysis._localScopeDepth = _analysis._localScopeDepth.Narrower(); 120_analysis._localScopeDepth = _analysis._localScopeDepth.Wider();
42 references to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (27)
2249/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 2312if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2365if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2393if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2459/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 3199SafeContext escapeTo = _localScopeDepth; 3251SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3332SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3699/// NOTE: in a case if expression cannot be passed by an alias (RValue and similar), the ref-escape is <see cref="_localScopeDepth"/>. 3724return _localScopeDepth; 3762return _localScopeDepth; 3972return _localScopeDepth; 3988if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4053if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4319SafeContext broadest = _localScopeDepth; 4503return _localScopeDepth; 4602_localScopeDepth : 4725return _localScopeDepth; 4731return _localScopeDepth; 4736return _localScopeDepth; 4741return _localScopeDepth; 4754return _localScopeDepth; 4758return _localScopeDepth; 4770return _localScopeDepth; 4826SafeContext narrowestScope = _localScopeDepth; 4995if (_localScopeDepth.IsConvertibleTo(escapeTo)) 5331if (HasLocalScope((BoundCollectionExpression)conversion.Operand) && !_localScopeDepth.IsConvertibleTo(escapeTo))
Binder\RefSafetyAnalysis.cs (15)
97/// <param name="adjustDepth">When true, narrows <see cref="_localScopeDepth"/> when the instance is created, and widens it when the instance is disposed.</param> 104_analysis._localScopeDepth = _analysis._localScopeDepth.Narrower(); 108_analysis.AddLocalScopes(local, refEscapeScope: _analysis._localScopeDepth, valEscapeScope: SafeContext.CallingMethod); 120_analysis._localScopeDepth = _analysis._localScopeDepth.Wider(); 412: _localScopeDepth; 427GetAwaitableInstancePlaceholders(placeholders, awaitableInfo, _localScopeDepth); 511_localScopeDepth : 514_localScopeDepth : 564SetLocalScopes(localSymbol, _localScopeDepth, _localScopeDepth); 675using (new PatternInput(this, _localScopeDepth)) 728SetLocalScopes(local, _localScopeDepth, _patternInputValEscape); 878placeholders.Add((interpolationData.ReceiverPlaceholder, SafeContextAndLocation.Create(_localScopeDepth))); 1162: _localScopeDepth; 1278AddLocalScopes(local, refEscapeScope: local.RefKind == RefKind.None ? _localScopeDepth : collectionEscape, valEscapeScope: collectionEscape);