1 write to RefKind
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
3576
this.
RefKind
= refKind;
15 references to RefKind
Microsoft.CodeAnalysis.CSharp (15)
Binder\RefSafetyAnalysis.cs (1)
584
ValidateEscape(expr, SafeContext.ReturnOnly, node.
RefKind
!= RefKind.None, _diagnostics);
BoundTree\BoundReturnStatement.cs (1)
13
Debug.Assert(
RefKind
is RefKind.None or RefKind.Ref); // We assume that 'ref readonly' cannot be result of a return inference for a lambda.
BoundTree\UnboundLambda.cs (2)
222
RefKind rk = returnStatement.
RefKind
;
1635
statements[0] is BoundReturnStatement {
RefKind
: Microsoft.CodeAnalysis.RefKind.None, ExpressionOpt: BoundExpression expr })
CodeGen\EmitStatement.cs (1)
875
if (boundReturnStatement.
RefKind
== RefKind.None)
CodeGen\Optimizer.cs (1)
1813
return node.Update(node.
RefKind
, expressionOpt, @checked: node.Checked);
FlowAnalysis\AbstractFlowPass.cs (3)
2034
VisitRvalue(node.ExpressionOpt, isKnownToBeAnLvalue: node.
RefKind
!= RefKind.None);
2037
if (node.
RefKind
!= RefKind.None)
2039
WriteArgument(node.ExpressionOpt, node.
RefKind
, method: null);
FlowAnalysis\NullableWalker.cs (2)
3076
if (node.
RefKind
== RefKind.None &&
3085
if (node.
RefKind
== RefKind.None)
Generated\BoundNodes.xml.Generated.cs (3)
3594
if (refKind != this.
RefKind
|| expressionOpt != this.ExpressionOpt || @checked != this.Checked)
11423
return node.Update(node.
RefKind
, expressionOpt, node.Checked);
15946
new TreeDumperNode("refKind", node.
RefKind
, null),
Lowering\SpillSequenceSpiller.cs (1)
698
return UpdateStatement(builder, node.Update(node.
RefKind
, expression, @checked: node.Checked));