62 references to GetValEscape
Microsoft.CodeAnalysis.CSharp (62)
Binder\Binder.ValueChecks.cs (43)
1746
return
GetValEscape
(fieldAccess.ReceiverOpt);
2187
SafeContext escapeScope =
GetValEscape
(data.Construction);
2263
(false, false) =>
GetValEscape
(argument),
2283
escapeScope = escapeScope.Intersect(
GetValEscape
(methodInvocationInfo.Receiver));
2318
GetValEscape
(argument);
2346
:
GetValEscape
(argument);
3181
escapeTo = escapeTo.Union(
GetValEscape
(argument));
3194
inferredDestinationValEscape = inferredDestinationValEscape.Intersect(
GetValEscape
(argument));
3237
var toArgEscape =
GetValEscape
(mixableArg.Argument);
3281
:
GetValEscape
(fromArg));
4285
valEscape =
GetValEscape
(element);
4371
return
GetValEscape
(placeholder.Receiver);
4380
var consEscape =
GetValEscape
(conditional.Consequence);
4390
return consEscape.Intersect(
GetValEscape
(conditional.Alternative));
4395
return
GetValEscape
(coalescingOp.LeftOperand)
4396
.Intersect(
GetValEscape
(coalescingOp.RightOperand));
4409
return
GetValEscape
(fieldAccess.ReceiverOpt);
4508
escape = escape.Intersect(
GetValEscape
(initializerOpt));
4523
escape = escape.Intersect(
GetValEscape
(initializerOpt));
4532
return
GetValEscape
(withExpression.Receiver)
4533
.Intersect(
GetValEscape
(withExpression.InitializerExpression));
4544
return
GetValEscape
(unaryOperator.Operand);
4583
return
GetValEscape
(conversion.Operand);
4587
return
GetValEscape
(((BoundAssignmentOperator)expr).Right);
4591
return
GetValEscape
(nullCoalescingAssignment.LeftOperand)
4592
.Intersect(
GetValEscape
(nullCoalescingAssignment.RightOperand));
4613
return
GetValEscape
(increment.Operand);
4630
return
GetValEscape
(compound.Left);
4634
return
GetValEscape
(compound.Left)
4635
.Intersect(
GetValEscape
(compound.Right));
4647
return
GetValEscape
(binary.Left)
4648
.Intersect(
GetValEscape
(binary.Right));
4653
return (range.LeftOperandOpt is { } left ?
GetValEscape
(left) : SafeContext.CallingMethod)
4654
.Intersect(range.RightOperandOpt is { } right ?
GetValEscape
(right) : SafeContext.CallingMethod);
4664
return
GetValEscape
(((BoundQueryClause)expr).Value);
4667
return
GetValEscape
(((BoundRangeVariable)expr).Value);
4785
narrowestScope = narrowestScope.Intersect(
GetValEscape
(element));
4799
:
GetValEscape
(expr));
4830
:
GetValEscape
(assignment.Right);
4848
result =
GetValEscape
(expr);
4902
:
GetValEscape
(escapeValue.Argument);
4932
result = result.Intersect(
GetValEscape
(expression));
4953
Debug.Assert(
GetValEscape
(expr).IsConvertibleTo(escapeTo));
Binder\Binder_Operators.cs (2)
5983
SafeContext whenTrueEscape =
GetValEscape
(trueExpr);
5984
SafeContext whenFalseEscape =
GetValEscape
(falseExpr);
Binder\Binder_Statements.cs (3)
1589
leftEscape =
GetValEscape
(op1);
1590
rightEscape =
GetValEscape
(op2);
1629
var leftEscape =
GetValEscape
(op1);
Binder\RefSafetyAnalysis.cs (14)
411
?
GetValEscape
(expr)
456
using var _2 = new PatternInput(this,
GetValEscape
(node.Expression));
465
using var _ = new PatternInput(this,
GetValEscape
(node.Expression));
566
valEscapeScope =
GetValEscape
(initializer);
636
using var _ = new PatternInput(this,
GetValEscape
(node.Expression));
897
valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver) :
GetValEscape
(receiver);
925
valEscapeScope =
GetValEscape
(arguments[argIndex]);
1002
var escapeFrom =
GetValEscape
(node.InitializerExpressionOpt);
1022
if (!escapeFrom.IsConvertibleTo(
GetValEscape
(argument)))
1080
GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo,
GetValEscape
(node.Expression));
1148
placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder, SafeContextAndLocation.Create(
GetValEscape
(right))));
1161
?
GetValEscape
(variable.Expression)
1226
: new DeconstructionVariable(expr,
GetValEscape
(expr), null);
1271
collectionEscape =
GetValEscape
(node.Expression);