69 references to GetValEscape
Microsoft.CodeAnalysis.CSharp (69)
Binder\Binder_Operators.cs (2)
6053SafeContext whenTrueEscape = GetValEscape(trueExpr); 6054SafeContext whenFalseEscape = GetValEscape(falseExpr);
Binder\Binder_Statements.cs (3)
1590leftEscape = GetValEscape(op1); 1591rightEscape = GetValEscape(op2); 1629var leftEscape = GetValEscape(op1);
Binder\Binder.ValueChecks.cs (48)
1789return GetValEscape(fieldAccess.ReceiverOpt); 2241SafeContext escapeScope = GetValEscape(data.Construction); 2317(false, false) => GetValEscape(argument), 2337escapeScope = escapeScope.Intersect(GetValEscape(methodInvocationInfo.Receiver)); 2372GetValEscape(argument); 2400: GetValEscape(argument); 3210escapeTo = escapeTo.Union(GetValEscape(argument)); 3223inferredDestinationValEscape = inferredDestinationValEscape.Intersect(GetValEscape(argument)); 3266var toArgEscape = GetValEscape(mixableArg.Argument); 3310: GetValEscape(fromArg)); 4325valEscape = GetValEscape(element); 4414return GetValEscape(placeholder.Receiver); 4418return GetValEscape(((BoundImplicitIndexerReceiverPlaceholder)expr).Receiver); 4427var consEscape = GetValEscape(conditional.Consequence); 4437return consEscape.Intersect(GetValEscape(conditional.Alternative)); 4442return GetValEscape(coalescingOp.LeftOperand) 4443.Intersect(GetValEscape(coalescingOp.RightOperand)); 4456return GetValEscape(fieldAccess.ReceiverOpt); 4555escape = escape.Intersect(GetValEscape(initializerOpt)); 4570escape = escape.Intersect(GetValEscape(initializerOpt)); 4579return GetValEscape(withExpression.Receiver) 4580.Intersect(GetValEscape(withExpression.InitializerExpression)); 4591return GetValEscape(unaryOperator.Operand); 4628return GetValEscape(conversion.Operand); 4632return GetValEscape(((BoundAssignmentOperator)expr).Right); 4636return GetValEscape(nullCoalescingAssignment.LeftOperand) 4637.Intersect(GetValEscape(nullCoalescingAssignment.RightOperand)); 4658return GetValEscape(increment.Operand); 4675return GetValEscape(compound.Left); 4679return GetValEscape(compound.Left) 4680.Intersect(GetValEscape(compound.Right)); 4692return GetValEscape(binary.Left) 4693.Intersect(GetValEscape(binary.Right)); 4698return (range.LeftOperandOpt is { } left ? GetValEscape(left) : SafeContext.CallingMethod) 4699.Intersect(range.RightOperandOpt is { } right ? GetValEscape(right) : SafeContext.CallingMethod); 4709return GetValEscape(((BoundQueryClause)expr).Value); 4712return GetValEscape(((BoundRangeVariable)expr).Value); 4812return GetValEscape(expr.CollectionCreation); 4816? GetValEscape(collectionCreation) 4852safeContext = GetValEscape(spreadElement.Expression); 4860safeContext = GetValEscape(elementExpression); 4874narrowestScope = narrowestScope.Intersect(GetValEscape(element)); 4888: GetValEscape(expr)); 4919: GetValEscape(assignment.Right); 4937result = GetValEscape(expr); 4991: GetValEscape(escapeValue.Argument); 5021result = result.Intersect(GetValEscape(expression)); 5042Debug.Assert(GetValEscape(expr).IsConvertibleTo(escapeTo));
Binder\RefSafetyAnalysis.cs (16)
417? GetValEscape(expr) 462using var _2 = new PatternInput(this, GetValEscape(node.Expression)); 471using var _ = new PatternInput(this, GetValEscape(node.Expression)); 572valEscapeScope = GetValEscape(initializer); 657using var _ = new PatternInput(this, GetValEscape(node.Expression)); 919valEscapeScope = receiver.GetRefKind().IsWritableReference() ? GetRefEscape(receiver) : GetValEscape(receiver); 947valEscapeScope = GetValEscape(arguments[argIndex]); 1009var escapeFrom = GetValEscape(node.InitializerExpressionOpt); 1052if (!initializerEscape.IsConvertibleTo(GetValEscape(argument))) 1122GetAwaitableInstancePlaceholders(placeholders, node.AwaitableInfo, GetValEscape(node.Expression)); 1190placeholders.Add((conversion.DeconstructionInfo.InputPlaceholder, SafeContextAndLocation.Create(GetValEscape(right)))); 1203? GetValEscape(variable.Expression) 1268: new DeconstructionVariable(expr, GetValEscape(expr), null); 1313collectionEscape = GetValEscape(node.Expression); 1381receiverScope = GetValEscape(collectionCreation); 1410spreadPlaceholders.Add((spreadElement.ElementPlaceholder, SafeContextAndLocation.Create(GetValEscape(spreadElement.Expression))));