1 write to IsRef
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
2013this.IsRef = isRef;
29 references to IsRef
Microsoft.CodeAnalysis.CSharp (29)
Binder\Binder.ValueChecks.cs (6)
937if (conditional.IsRef && 3409if (conditional.IsRef) 3735if (conditional.IsRef) 4126if (conditional.IsRef) 4838if (!consValid || conditional.IsRef) 5822if (!conditional.IsRef)
Binder\RefSafetyAnalysis.cs (1)
628if (node.IsRef)
CodeGen\EmitExpression.cs (2)
2895Debug.Assert(left.IsRef); 3115Debug.Assert(((BoundConditionalOperator)expression).IsRef);
CodeGen\Optimizer.cs (3)
1065Debug.Assert(((BoundConditionalOperator)lhs).IsRef, "only ref ternaries are assignable"); 1458var context = node.IsRef ? ExprContext.Address : ExprContext.Value; 1470return node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasCompilerGenerated, node.Type);
FlowAnalysis\AbstractFlowPass.cs (1)
3241return VisitConditionalOperatorCore(node, node.IsRef, node.Condition, node.Consequence, node.Alternative);
Generated\BoundNodes.xml.Generated.cs (5)
2036if (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)) 11094return node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, type); 12889updatedNode = node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, infoAndType.Type!); 12894updatedNode = node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, naturalTypeOpt, node.WasTargetTyped, node.Type); 15401new TreeDumperNode("isRef", node.IsRef, null),
Lowering\LocalRewriter\LocalRewriter.cs (1)
1084return ((BoundConditionalOperator)expr).IsRef;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (1)
707Debug.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 (3)
1117return UpdateExpression(conditionBuilder, node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasTargetTyped, node.Type)); 1133else if (!node.IsRef) 1170return conditionBuilder.Update(node.Update(node.IsRef, condition, consequence, alternative, node.ConstantValueOpt, node.NaturalTypeOpt, node.WasTargetTyped, node.Type));
Lowering\StateMachineRewriter\MethodToStateMachineRewriter.cs (1)
643Debug.Assert(conditional.IsRef);
Operations\CSharpOperationFactory.cs (1)
1577bool isRef = boundConditionalOperator.IsRef;