49 references to GetValEscape
Microsoft.CodeAnalysis.CSharp (49)
Binder\Binder.ValueChecks.cs (32)
1517
return
GetValEscape
(fieldAccess.ReceiverOpt, localScopeDepth);
1959
SafeContext escapeScope =
GetValEscape
(data.Construction, localScopeDepth);
2076
escapeScope = escapeScope.Intersect(
GetValEscape
(receiver, localScopeDepth));
4109
valEscape =
GetValEscape
(element, localScopeDepth);
4195
return
GetValEscape
(placeholder.Receiver, placeholder.LocalScopeDepth);
4204
var consEscape =
GetValEscape
(conditional.Consequence, localScopeDepth);
4214
return consEscape.Intersect(
GetValEscape
(conditional.Alternative, localScopeDepth));
4219
return
GetValEscape
(coalescingOp.LeftOperand, localScopeDepth)
4220
.Intersect(
GetValEscape
(coalescingOp.RightOperand, localScopeDepth));
4233
return
GetValEscape
(fieldAccess.ReceiverOpt, localScopeDepth);
4378
escape = escape.Intersect(
GetValEscape
(initializerOpt, localScopeDepth));
4393
escape = escape.Intersect(
GetValEscape
(initializerOpt, localScopeDepth));
4402
return
GetValEscape
(withExpression.Receiver, localScopeDepth)
4403
.Intersect(
GetValEscape
(withExpression.InitializerExpression, localScopeDepth));
4421
return
GetValEscape
(unaryOperator.Operand, localScopeDepth);
4474
return
GetValEscape
(conversion.Operand, localScopeDepth);
4481
return
GetValEscape
(((BoundAssignmentOperator)expr).Right, localScopeDepth);
4484
return
GetValEscape
(((BoundNullCoalescingAssignmentOperator)expr).RightOperand, localScopeDepth);
4487
return
GetValEscape
(((BoundIncrementOperator)expr).Operand, localScopeDepth);
4511
return
GetValEscape
(compound.Left, localScopeDepth);
4515
return
GetValEscape
(compound.Left, localScopeDepth)
4516
.Intersect(
GetValEscape
(compound.Right, localScopeDepth));
4535
return
GetValEscape
(binary.Left, localScopeDepth)
4536
.Intersect(
GetValEscape
(binary.Right, localScopeDepth));
4541
return (range.LeftOperandOpt is { } left ?
GetValEscape
(left, localScopeDepth) : SafeContext.CallingMethod)
4542
.Intersect(range.RightOperandOpt is { } right ?
GetValEscape
(right, localScopeDepth) : SafeContext.CallingMethod);
4559
return
GetValEscape
(((BoundQueryClause)expr).Value, localScopeDepth);
4562
return
GetValEscape
(((BoundRangeVariable)expr).Value, localScopeDepth);
4680
narrowestScope = narrowestScope.Intersect(
GetValEscape
(element, localScopeDepth));
4712
:
GetValEscape
(assignment.Right, localScopeDepth);
4730
result =
GetValEscape
(expr, localScopeDepth);
4810
result = result.Intersect(
GetValEscape
(expression, localScopeDepth));
Binder\Binder_Operators.cs (2)
4775
SafeContext whenTrueEscape =
GetValEscape
(trueExpr, currentScope);
4776
SafeContext whenFalseEscape =
GetValEscape
(falseExpr, currentScope);
Binder\Binder_Statements.cs (3)
1584
leftEscape =
GetValEscape
(op1, _localScopeDepth);
1585
rightEscape =
GetValEscape
(op2, _localScopeDepth);
1609
var leftEscape =
GetValEscape
(op1, _localScopeDepth);
Binder\RefSafetyAnalysis.cs (12)
350
?
GetValEscape
(expr, _localScopeDepth)
395
using var _2 = new PatternInput(this,
GetValEscape
(node.Expression, _localScopeDepth));
404
using var _ = new PatternInput(this,
GetValEscape
(node.Expression, _localScopeDepth));
505
valEscapeScope =
GetValEscape
(initializer, _localScopeDepth);
593
using var _ = new PatternInput(this,
GetValEscape
(node.Expression, _localScopeDepth));
757
valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver, _localScopeDepth) :
GetValEscape
(receiver, _localScopeDepth);
770
valEscapeScope =
GetValEscape
(arguments[argIndex], _localScopeDepth);
849
var escapeFrom =
GetValEscape
(node.InitializerExpressionOpt, _localScopeDepth);
945
GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo,
GetValEscape
(node.Expression, _localScopeDepth));
1006
placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder,
GetValEscape
(right, _localScopeDepth)));
1079
: new DeconstructionVariable(expr,
GetValEscape
(expr, _localScopeDepth), null);
1131
collectionEscape =
GetValEscape
(node.Expression, _localScopeDepth);