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)
2205/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 2268if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2321if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2349if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2415/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 3155SafeContext escapeTo = _localScopeDepth; 3207SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3288SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3655/// NOTE: in a case if expression cannot be passed by an alias (RValue and similar), the ref-escape is <see cref="_localScopeDepth"/>. 3680return _localScopeDepth; 3718return _localScopeDepth; 3928return _localScopeDepth; 3944if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4009if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4275SafeContext broadest = _localScopeDepth; 4459return _localScopeDepth; 4558_localScopeDepth : 4681return _localScopeDepth; 4687return _localScopeDepth; 4692return _localScopeDepth; 4697return _localScopeDepth; 4710return _localScopeDepth; 4714return _localScopeDepth; 4726return _localScopeDepth; 4782SafeContext narrowestScope = _localScopeDepth; 4951if (_localScopeDepth.IsConvertibleTo(escapeTo)) 5287if (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);