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