1 write to IsRef
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
2001this.IsRef = isRef;
27 references to IsRef
Microsoft.CodeAnalysis.CSharp (27)
Binder\Binder.ValueChecks.cs (6)
739if (conditional.IsRef && 2977if (conditional.IsRef) 3231if (conditional.IsRef) 3549if (conditional.IsRef) 3976if (!consValid || conditional.IsRef) 4690if (!conditional.IsRef)
Binder\RefSafetyAnalysis.cs (1)
560if (node.IsRef)
CodeGen\EmitExpression.cs (2)
2677Debug.Assert(left.IsRef); 2897Debug.Assert(((BoundConditionalOperator)expression).IsRef);
CodeGen\Optimizer.cs (3)
1064Debug.Assert(((BoundConditionalOperator)lhs).IsRef, "only ref ternaries are assignable"); 1391var context = node.IsRef ? ExprContext.Address : ExprContext.Value; 1403return node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasCompilerGenerated, node.Type);
FlowAnalysis\AbstractFlowPass.cs (1)
3049return VisitConditionalOperatorCore(node, node.IsRef, node.Condition, node.Consequence, node.Alternative);
Generated\BoundNodes.xml.Generated.cs (5)
2024if (isRef != this.IsRef || condition != this.Condition || consequence != this.Consequence || alternative != this.Alternative || constantValueOpt != this.ConstantValueOpt || !TypeSymbol.Equals(naturalTypeOpt, this.NaturalTypeOpt, TypeCompareKind.ConsiderEverything) || wasTargetTyped != this.WasTargetTyped || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything)) 10715return node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, type); 12455updatedNode = node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, infoAndType.Type!); 12460updatedNode = node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, node.Type); 14864new TreeDumperNode("isRef", node.IsRef, null),
Lowering\LocalRewriter\LocalRewriter.cs (1)
957return ((BoundConditionalOperator)expr).IsRef;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
695Debug.Assert(((BoundConditionalOperator)originalLHS).IsRef);
Lowering\LocalRewriter\LocalRewriter_ConditionalOperator.cs (2)
29return node.Update(node.IsRef, rewrittenCondition, rewrittenConsequence, rewrittenAlternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasTargetTyped, node.Type); 39node.IsRef);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (2)
65Debug.Assert(!conditional.IsRef); 67conditional.IsRef,
Lowering\SpillSequenceSpiller.cs (1)
1046return UpdateExpression(conditionBuilder, node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasTargetTyped, node.Type));
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
625Debug.Assert(conditional.IsRef);
Operations\CSharpOperationFactory.cs (1)
1510bool isRef = boundConditionalOperator.IsRef;