3 writes to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (3)
Binder\RefSafetyAnalysis.cs (3)
93
_localScopeDepth
= SafeContext.CurrentMethod;
109
_analysis.
_localScopeDepth
= _analysis._localScopeDepth.Narrower();
125
_analysis.
_localScopeDepth
= _analysis._localScopeDepth.Wider();
45 references to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (45)
Binder\Binder.ValueChecks.cs (28)
2258
/// NOTE: we need <see cref="
_localScopeDepth
"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as
2321
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2374
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2402
if (
_localScopeDepth
.IsConvertibleTo(escapeScope))
2468
/// NOTE: we need <see cref="
_localScopeDepth
"/> as some expressions such as optional <c>in</c> parameters or <c>ref dynamic</c> behave as
3183
SafeContext escapeTo =
_localScopeDepth
;
3235
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
3316
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
3686
/// NOTE: in a case if expression cannot be passed by an alias (RValue and similar), the ref-escape is <see cref="
_localScopeDepth
"/>.
3711
return
_localScopeDepth
;
3749
return
_localScopeDepth
;
3963
return
_localScopeDepth
;
3979
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
4044
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
4314
SafeContext broadest =
_localScopeDepth
;
4505
return
_localScopeDepth
;
4725
return
_localScopeDepth
;
4728
return
_localScopeDepth
;
4733
return
_localScopeDepth
;
4738
return
_localScopeDepth
;
4751
return
_localScopeDepth
;
4755
return
_localScopeDepth
;
4767
return
_localScopeDepth
;
4796
:
_localScopeDepth
;
4800
return
_localScopeDepth
;
4816
:
_localScopeDepth
;
4870
SafeContext narrowestScope =
_localScopeDepth
;
5039
if (
_localScopeDepth
.IsConvertibleTo(escapeTo))
Binder\RefSafetyAnalysis.cs (17)
102
/// <param name="adjustDepth">When true, narrows <see cref="
_localScopeDepth
"/> when the instance is created, and widens it when the instance is disposed.</param>
109
_analysis._localScopeDepth = _analysis.
_localScopeDepth
.Narrower();
113
_analysis.AddLocalScopes(local, refEscapeScope: _analysis.
_localScopeDepth
, valEscapeScope: SafeContext.CallingMethod);
125
_analysis._localScopeDepth = _analysis.
_localScopeDepth
.Wider();
418
:
_localScopeDepth
;
433
GetAwaitableInstancePlaceholders(placeholders, awaitableInfo,
_localScopeDepth
);
517
_localScopeDepth
:
520
_localScopeDepth
:
570
SetLocalScopes(localSymbol,
_localScopeDepth
,
_localScopeDepth
);
696
using (new PatternInput(this,
_localScopeDepth
))
749
SetLocalScopes(local,
_localScopeDepth
, _patternInputValEscape);
900
placeholders.Add((interpolationData.ReceiverPlaceholder, SafeContextAndLocation.Create(
_localScopeDepth
)));
1204
:
_localScopeDepth
;
1320
AddLocalScopes(local, refEscapeScope: local.RefKind == RefKind.None ?
_localScopeDepth
: collectionEscape, valEscapeScope: collectionEscape);
1368
:
_localScopeDepth
;
1385
receiverScope =
_localScopeDepth
;