44 references to CheckValEscape
Microsoft.CodeAnalysis.CSharp (44)
Binder\Binder.ValueChecks.cs (42)
1812
return
CheckValEscape
(node, fieldAccess.ReceiverOpt, escapeTo, checkingReceiver: true, diagnostics);
2534
CheckValEscape
(argument.Syntax, argument, escapeTo, false, diagnostics);
2559
return
CheckValEscape
(receiver.Syntax, receiver, escapeTo, false, diagnostics);
2599
CheckValEscape
(argument.Syntax, argument, escapeTo, false, diagnostics);
2636
:
CheckValEscape
(argument.Syntax, argument, escapeTo, checkingReceiver: false, diagnostics);
3223
if (!hasMixingError && !
CheckValEscape
(argument.Syntax, argument, escapeTo, false, diagnostics))
3278
:
CheckValEscape
(fromArg.Syntax, fromArg, toArgEscape, checkingReceiver: false, diagnostics);
3679
CheckValEscape
(expr.Syntax, expr, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5120
return
CheckValEscape
(underlyingReceiver.Syntax, underlyingReceiver, escapeTo, checkingReceiver, diagnostics);
5135
CheckValEscape
(conditional.Consequence.Syntax, conditional.Consequence, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
5136
CheckValEscape
(conditional.Alternative.Syntax, conditional.Alternative, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5143
var consValid =
CheckValEscape
(conditional.Consequence.Syntax, conditional.Consequence, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5152
return
CheckValEscape
(conditional.Alternative.Syntax, conditional.Alternative, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5157
return
CheckValEscape
(coalescingOp.LeftOperand.Syntax, coalescingOp.LeftOperand, escapeTo, checkingReceiver, diagnostics) &&
5158
CheckValEscape
(coalescingOp.RightOperand.Syntax, coalescingOp.RightOperand, escapeTo, checkingReceiver, diagnostics);
5171
return
CheckValEscape
(node, fieldAccess.ReceiverOpt, escapeTo, true, diagnostics);
5175
return
CheckValEscape
(node, ((BoundImplicitIndexerReceiverPlaceholder)expr).Receiver, escapeTo, checkingReceiver, diagnostics);
5310
CheckValEscape
(
5330
CheckValEscape
(
5344
var escape =
CheckValEscape
(node, withExpr.Receiver, escapeTo, checkingReceiver: false, diagnostics);
5347
escape = escape &&
CheckValEscape
(initializerExpr.Syntax, initializerExpr, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5365
return
CheckValEscape
(node, unary.Operand, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5420
return
CheckValEscape
(node, conversion.Operand, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5425
return
CheckValEscape
(node, assignment.Right, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5429
return
CheckValEscape
(node, nullCoalescingAssignment.LeftOperand, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
5430
CheckValEscape
(node, nullCoalescingAssignment.RightOperand, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5455
return
CheckValEscape
(node, increment.Operand, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5474
return
CheckValEscape
(compound.Left.Syntax, compound.Left, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5478
return
CheckValEscape
(compound.Left.Syntax, compound.Left, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
5479
CheckValEscape
(compound.Right.Syntax, compound.Right, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5500
return
CheckValEscape
(binary.Left.Syntax, binary.Left, escapeTo, checkingReceiver: false, diagnostics: diagnostics) &&
5501
CheckValEscape
(binary.Right.Syntax, binary.Right, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5506
if (range.LeftOperandOpt is { } left && !
CheckValEscape
(left.Syntax, left, escapeTo, checkingReceiver: false, diagnostics: diagnostics))
5511
return !(range.RightOperandOpt is { } right && !
CheckValEscape
(right.Syntax, right, escapeTo, checkingReceiver: false, diagnostics: diagnostics));
5526
return
CheckValEscape
(clauseValue.Syntax, clauseValue, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5530
return
CheckValEscape
(variableValue.Syntax, variableValue, escapeTo, checkingReceiver: false, diagnostics: diagnostics);
5542
return
CheckValEscape
(accessedExpression.Syntax, accessedExpression, escapeTo, checkingReceiver, diagnostics);
5546
return
CheckValEscape
(operandExpression.Syntax, operandExpression, escapeTo, checkingReceiver, diagnostics);
5561
if (!
CheckValEscape
(result.Syntax, result, escapeTo, checkingReceiver: false, diagnostics: diagnostics))
5807
if (!
CheckValEscape
(element.Syntax, element, escapeTo, checkingReceiver: false, diagnostics: diagnostics))
5834
else if (!
CheckValEscape
(expr.Syntax, expr, escapeTo, checkingReceiver: false, diagnostics))
5875
bool result =
CheckValEscape
(expression.Syntax, data.Construction, escapeTo, checkingReceiver: false, diagnostics);
Binder\Binder_Operators.cs (2)
6039
CheckValEscape
(falseExpr.Syntax, falseExpr, whenTrueEscape, checkingReceiver: false, diagnostics: diagnostics);
6041
CheckValEscape
(trueExpr.Syntax, trueExpr, whenFalseEscape, checkingReceiver: false, diagnostics: diagnostics);