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)
2233/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 2296if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2349if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2377if (_localScopeDepth.IsConvertibleTo(escapeScope)) 2443/// NOTE: we need <see cref="_localScopeDepth"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as 3183SafeContext escapeTo = _localScopeDepth; 3235SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3316SetLocalScopes(localSymbol, refEscapeScope: _localScopeDepth, valEscapeScope: inferredDestinationValEscape); 3683/// NOTE: in a case if expression cannot be passed by an alias (RValue and similar), the ref-escape is <see cref="_localScopeDepth"/>. 3708return _localScopeDepth; 3746return _localScopeDepth; 3956return _localScopeDepth; 3972if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4037if (_localScopeDepth.IsConvertibleTo(escapeTo)) 4303SafeContext broadest = _localScopeDepth; 4487return _localScopeDepth; 4586_localScopeDepth : 4709return _localScopeDepth; 4715return _localScopeDepth; 4720return _localScopeDepth; 4725return _localScopeDepth; 4738return _localScopeDepth; 4742return _localScopeDepth; 4754return _localScopeDepth; 4810SafeContext narrowestScope = _localScopeDepth; 4979if (_localScopeDepth.IsConvertibleTo(escapeTo)) 5315if (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);