1 write to RefKind
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
3576this.RefKind = refKind;
15 references to RefKind
Microsoft.CodeAnalysis.CSharp (15)
Binder\RefSafetyAnalysis.cs (1)
584ValidateEscape(expr, SafeContext.ReturnOnly, node.RefKind != RefKind.None, _diagnostics);
BoundTree\BoundReturnStatement.cs (1)
13Debug.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)
222RefKind rk = returnStatement.RefKind; 1635statements[0] is BoundReturnStatement { RefKind: Microsoft.CodeAnalysis.RefKind.None, ExpressionOpt: BoundExpression expr })
CodeGen\EmitStatement.cs (1)
875if (boundReturnStatement.RefKind == RefKind.None)
CodeGen\Optimizer.cs (1)
1813return node.Update(node.RefKind, expressionOpt, @checked: node.Checked);
FlowAnalysis\AbstractFlowPass.cs (3)
2034VisitRvalue(node.ExpressionOpt, isKnownToBeAnLvalue: node.RefKind != RefKind.None); 2037if (node.RefKind != RefKind.None) 2039WriteArgument(node.ExpressionOpt, node.RefKind, method: null);
FlowAnalysis\NullableWalker.cs (2)
3076if (node.RefKind == RefKind.None && 3085if (node.RefKind == RefKind.None)
Generated\BoundNodes.xml.Generated.cs (3)
3594if (refKind != this.RefKind || expressionOpt != this.ExpressionOpt || @checked != this.Checked) 11423return node.Update(node.RefKind, expressionOpt, node.Checked); 15946new TreeDumperNode("refKind", node.RefKind, null),
Lowering\SpillSequenceSpiller.cs (1)
698return UpdateStatement(builder, node.Update(node.RefKind, expression, @checked: node.Checked));