3 writes to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (3)
Binder\RefSafetyAnalysis.cs (3)
102
_localScopeDepth
= CurrentMethodScope - 1;
115
_analysis.
_localScopeDepth
++;
128
_analysis.
_localScopeDepth
--;
42 references to _localScopeDepth
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder.ValueChecks.cs (5)
2089
receiver = new BoundCapturedReceiverPlaceholder(receiver.Syntax, receiver,
_localScopeDepth
, receiver.Type).MakeCompilerGenerated();
2506
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
2601
SetLocalScopes(localSymbol, refEscapeScope:
_localScopeDepth
, valEscapeScope: inferredDestinationValEscape);
2897
CheckRefEscape(expr.Syntax, expr,
_localScopeDepth
, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
2901
CheckValEscape(expr.Syntax, expr,
_localScopeDepth
, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
Binder\Binder_Operators.cs (1)
4305
var currentScope =
_localScopeDepth
;
Binder\Binder_Statements.cs (5)
1559
var leftEscape = GetRefEscape(op1,
_localScopeDepth
);
1560
var rightEscape = GetRefEscape(op2,
_localScopeDepth
);
1579
leftEscape = GetValEscape(op1,
_localScopeDepth
);
1580
rightEscape = GetValEscape(op2,
_localScopeDepth
);
1603
var leftEscape = GetValEscape(op1,
_localScopeDepth
);
Binder\RefSafetyAnalysis.cs (31)
118
_analysis.AddLocalScopes(local, refEscapeScope: _analysis.
_localScopeDepth
, valEscapeScope: CallingMethodScope);
305
? GetValEscape(expr,
_localScopeDepth
)
306
:
_localScopeDepth
;
319
GetAwaitableInstancePlaceholders(placeholders, awaitableInfo,
_localScopeDepth
);
347
using var _2 = new PatternInput(this, GetValEscape(node.Expression,
_localScopeDepth
));
354
using var _ = new PatternInput(this, GetValEscape(node.Expression,
_localScopeDepth
));
401
_localScopeDepth
:
404
_localScopeDepth
:
437
refEscapeScope >= GetRefEscape(initializer,
_localScopeDepth
));
447
SetLocalScopes(localSymbol,
_localScopeDepth
,
_localScopeDepth
);
449
valEscapeScope = GetValEscape(initializer,
_localScopeDepth
);
452
refEscapeScope = GetRefEscape(initializer,
_localScopeDepth
);
494
using var _ = new PatternInput(this, GetValEscape(node.Expression,
_localScopeDepth
));
553
SetLocalScopes(local,
_localScopeDepth
, _patternInputValEscape);
597
_localScopeDepth
,
610
placeholders.Add((interpolationData.ReceiverPlaceholder,
_localScopeDepth
));
620
valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver,
_localScopeDepth
) : GetValEscape(receiver,
_localScopeDepth
);
626
valEscapeScope = GetValEscape(arguments[argIndex],
_localScopeDepth
);
651
_localScopeDepth
,
674
_localScopeDepth
,
697
_localScopeDepth
,
707
GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo, GetValEscape(node.Expression,
_localScopeDepth
));
759
placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder, GetValEscape(right,
_localScopeDepth
)));
772
? GetValEscape(variable.Expression,
_localScopeDepth
)
773
:
_localScopeDepth
;
787
_localScopeDepth
,
831
: new DeconstructionVariable(expr, GetValEscape(expr,
_localScopeDepth
), null);
856
uint collectionEscape = GetValEscape(node.Expression,
_localScopeDepth
);
861
AddLocalScopes(local, refEscapeScope: local.RefKind == RefKind.None ?
_localScopeDepth
: collectionEscape, valEscapeScope: collectionEscape);