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