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();
44 references to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (28)
2255
/// NOTE: we need <see cref="
_localScopeDepth
"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as
2318
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2371
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2399
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2465
/// NOTE: we need <see cref="
_localScopeDepth
"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as
3205
SafeContext escapeTo =
_localScopeDepth
;
3257
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
3338
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
3705
/// NOTE: in a case if expression cannot be passed by an alias (RValue and similar), the ref-escape is <see cref="
_localScopeDepth
"/>.
3730
return
_localScopeDepth
;
3768
return
_localScopeDepth
;
3978
return
_localScopeDepth
;
3994
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
4059
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
4325
SafeContext broadest =
_localScopeDepth
;
4511
return
_localScopeDepth
;
4731
return
_localScopeDepth
;
4737
return
_localScopeDepth
;
4742
return
_localScopeDepth
;
4747
return
_localScopeDepth
;
4760
return
_localScopeDepth
;
4764
return
_localScopeDepth
;
4776
return
_localScopeDepth
;
4805
:
_localScopeDepth
;
4809
return
_localScopeDepth
;
4831
return
_localScopeDepth
;
4840
SafeContext narrowestScope =
_localScopeDepth
;
5009
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
Binder\RefSafetyAnalysis.cs (16)
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
;
427
GetAwaitableInstancePlaceholders(placeholders, awaitableInfo,
_localScopeDepth
);
511
_localScopeDepth
:
514
_localScopeDepth
:
564
SetLocalScopes(localSymbol,
_localScopeDepth
,
_localScopeDepth
);
675
using (new PatternInput(this,
_localScopeDepth
))
728
SetLocalScopes(local,
_localScopeDepth
, _patternInputValEscape);
878
placeholders.Add((interpolationData.ReceiverPlaceholder, SafeContextAndLocation.Create(
_localScopeDepth
)));
1162
:
_localScopeDepth
;
1278
AddLocalScopes(local, refEscapeScope: local.RefKind == RefKind.None ?
_localScopeDepth
: collectionEscape, valEscapeScope: collectionEscape);
1324
:
_localScopeDepth
;