69 references to GetValEscape
Microsoft.CodeAnalysis.CSharp (69)
Binder\Binder_Operators.cs (2)
6056
SafeContext whenTrueEscape =
GetValEscape
(trueExpr);
6057
SafeContext whenFalseEscape =
GetValEscape
(falseExpr);
Binder\Binder_Statements.cs (3)
1590
leftEscape =
GetValEscape
(op1);
1591
rightEscape =
GetValEscape
(op2);
1629
var leftEscape =
GetValEscape
(op1);
Binder\Binder.ValueChecks.cs (48)
1773
return
GetValEscape
(fieldAccess.ReceiverOpt);
2225
SafeContext escapeScope =
GetValEscape
(data.Construction);
2301
(false, false) =>
GetValEscape
(argument),
2321
escapeScope = escapeScope.Intersect(
GetValEscape
(methodInvocationInfo.Receiver));
2356
GetValEscape
(argument);
2384
:
GetValEscape
(argument);
3194
escapeTo = escapeTo.Union(
GetValEscape
(argument));
3207
inferredDestinationValEscape = inferredDestinationValEscape.Intersect(
GetValEscape
(argument));
3250
var toArgEscape =
GetValEscape
(mixableArg.Argument);
3294
:
GetValEscape
(fromArg));
4309
valEscape =
GetValEscape
(element);
4398
return
GetValEscape
(placeholder.Receiver);
4402
return
GetValEscape
(((BoundImplicitIndexerReceiverPlaceholder)expr).Receiver);
4411
var consEscape =
GetValEscape
(conditional.Consequence);
4421
return consEscape.Intersect(
GetValEscape
(conditional.Alternative));
4426
return
GetValEscape
(coalescingOp.LeftOperand)
4427
.Intersect(
GetValEscape
(coalescingOp.RightOperand));
4440
return
GetValEscape
(fieldAccess.ReceiverOpt);
4539
escape = escape.Intersect(
GetValEscape
(initializerOpt));
4554
escape = escape.Intersect(
GetValEscape
(initializerOpt));
4563
return
GetValEscape
(withExpression.Receiver)
4564
.Intersect(
GetValEscape
(withExpression.InitializerExpression));
4575
return
GetValEscape
(unaryOperator.Operand);
4612
return
GetValEscape
(conversion.Operand);
4616
return
GetValEscape
(((BoundAssignmentOperator)expr).Right);
4620
return
GetValEscape
(nullCoalescingAssignment.LeftOperand)
4621
.Intersect(
GetValEscape
(nullCoalescingAssignment.RightOperand));
4642
return
GetValEscape
(increment.Operand);
4659
return
GetValEscape
(compound.Left);
4663
return
GetValEscape
(compound.Left)
4664
.Intersect(
GetValEscape
(compound.Right));
4676
return
GetValEscape
(binary.Left)
4677
.Intersect(
GetValEscape
(binary.Right));
4682
return (range.LeftOperandOpt is { } left ?
GetValEscape
(left) : SafeContext.CallingMethod)
4683
.Intersect(range.RightOperandOpt is { } right ?
GetValEscape
(right) : SafeContext.CallingMethod);
4693
return
GetValEscape
(((BoundQueryClause)expr).Value);
4696
return
GetValEscape
(((BoundRangeVariable)expr).Value);
4796
return
GetValEscape
(expr.CollectionCreation);
4800
?
GetValEscape
(collectionCreation)
4836
safeContext =
GetValEscape
(spreadElement.Expression);
4844
safeContext =
GetValEscape
(elementExpression);
4858
narrowestScope = narrowestScope.Intersect(
GetValEscape
(element));
4872
:
GetValEscape
(expr));
4903
:
GetValEscape
(assignment.Right);
4921
result =
GetValEscape
(expr);
4975
:
GetValEscape
(escapeValue.Argument);
5005
result = result.Intersect(
GetValEscape
(expression));
5026
Debug.Assert(
GetValEscape
(expr).IsConvertibleTo(escapeTo));
Binder\RefSafetyAnalysis.cs (16)
453
?
GetValEscape
(expr)
511
using var _2 = new PatternInput(this,
GetValEscape
(node.Expression));
520
using var _ = new PatternInput(this,
GetValEscape
(node.Expression));
621
valEscapeScope =
GetValEscape
(initializer);
706
using var _ = new PatternInput(this,
GetValEscape
(node.Expression));
968
valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver) :
GetValEscape
(receiver);
996
valEscapeScope =
GetValEscape
(arguments[argIndex]);
1058
var escapeFrom =
GetValEscape
(node.InitializerExpressionOpt);
1101
if (!initializerEscape.IsConvertibleTo(
GetValEscape
(argument)))
1171
GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo,
GetValEscape
(node.Expression));
1239
placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder, SafeContextAndLocation.Create(
GetValEscape
(right))));
1252
?
GetValEscape
(variable.Expression)
1317
: new DeconstructionVariable(expr,
GetValEscape
(expr), null);
1362
collectionEscape =
GetValEscape
(node.Expression);
1430
receiverScope =
GetValEscape
(collectionCreation);
1459
spreadPlaceholders.Add((spreadElement.ElementPlaceholder, SafeContextAndLocation.Create(
GetValEscape
(spreadElement.Expression))));