29 writes to StateWhenTrue
Microsoft.CodeAnalysis.CSharp (29)
FlowAnalysis\AbstractFlowPass.cs (6)
134
StateWhenTrue
= whenTrue;
141
StateWhenTrue
= StateWhenFalse = default(TLocalState);
158
Join(ref
StateWhenTrue
, ref StateWhenFalse);
1685
StateWhenTrue
= unreachable;
2988
Join(ref
StateWhenTrue
, ref savedState);
3321
Join(ref this.
StateWhenTrue
, ref afterConsequenceWhenTrue);
FlowAnalysis\LocalDataFlowPass.cs (1)
137
Normalize(ref this.
StateWhenTrue
);
FlowAnalysis\NullableWalker.cs (13)
5523
LearnFromNullTest(operandComparedToNull, ref nonNullCase ? ref StateWhenFalse : ref
StateWhenTrue
);
5566
ref LocalState stateToUpdate = ref whenTrue ? ref this.
StateWhenTrue
: ref this.StateWhenFalse;
6103
LearnFromNonNullTest(slot, ref
StateWhenTrue
);
6870
LearnFromNullTest(right, ref
StateWhenTrue
);
6876
LearnFromNullTest(left, ref
StateWhenTrue
);
6882
LearnFromNonNullTest(left, ref
StateWhenTrue
);
6887
LearnFromNonNullTest(right, ref
StateWhenTrue
);
7608
applyMemberPostConditions(receiverSlot, type, notNullMembers, ref
StateWhenTrue
);
7620
applyMemberPostConditions(receiverSlot, type, notNullWhenTrueMembers, ref
StateWhenTrue
);
8172
LearnFromNonNullTest(argument, ref
StateWhenTrue
);
8182
LearnFromNullTest(argument, ref
StateWhenTrue
);
11504
SetState(ref this.
StateWhenTrue
, containingSlot, NullableFlowState.NotNull);
12987
Join(ref
StateWhenTrue
, ref otherIsConditional ? ref other.StateWhenTrue : ref other.State);
FlowAnalysis\NullableWalker_Patterns.cs (9)
603
learnFromNonNullTest(inputSlot, ref this.
StateWhenTrue
);
609
var inputMaybeNull = GetState(ref this.
StateWhenTrue
, inputSlot).MayBeNull();
618
learnFromNonNullTest(inputSlot, ref this.
StateWhenTrue
);
626
LearnFromNullTest(inputSlot, inputType, ref this.
StateWhenTrue
, markDependentSlotsNotNull: true);
647
learnFromNonNullTest(inputSlot, ref this.
StateWhenTrue
);
656
learnFromNonNullTest(inputSlot, ref this.
StateWhenTrue
);
782
Join(ref this.
StateWhenTrue
, ref stateAndReachable.state.StateWhenTrue);
787
Join(ref this.
StateWhenTrue
, ref stateAndReachable.state.State);
793
Join(ref this.
StateWhenTrue
, ref stateAndReachable.state.StateWhenTrue);
47 references to StateWhenTrue
Microsoft.CodeAnalysis.CSharp (47)
FlowAnalysis\AbstractFlowPass.cs (19)
159
SetState(
StateWhenTrue
);
228
? $"true: {Dump(this.
StateWhenTrue
)} false: {Dump(this.StateWhenFalse)}"
948
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
968
SetState(this.
StateWhenTrue
);
974
SetConditionalState(this.StateWhenFalse, this.
StateWhenTrue
);
1781
trueState =
StateWhenTrue
;
1982
SetState(
StateWhenTrue
);
2343
TLocalState bodyState =
StateWhenTrue
;
2508
var leftTrue = this.
StateWhenTrue
;
2540
var resultTrue = this.
StateWhenTrue
;
2685
var (stateWhenTrue, stateWhenFalse) = (
StateWhenTrue
.Clone(), StateWhenFalse.Clone());
2701
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
2792
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
2875
bodyState = this.
StateWhenTrue
;
3290
var consequenceState = this.
StateWhenTrue
;
3310
var (afterConsequenceWhenTrue, afterConsequenceWhenFalse) = conditionalAfterConsequence ? (
StateWhenTrue
, StateWhenFalse) : (State, State);
3359
SetState(this.
StateWhenTrue
);
3582
PendingBranches.Add(new PendingBranch(node, this.
StateWhenTrue
, node.Label));
3588
this.SetState(this.
StateWhenTrue
);
FlowAnalysis\AbstractFlowPass_Switch.cs (4)
62
SetState(
StateWhenTrue
);
66
SetState(
StateWhenTrue
);
165
SetState(
StateWhenTrue
);
174
SetState(
StateWhenTrue
);
FlowAnalysis\AlwaysAssignedWalker.cs (1)
127
_endOfRegionState =
StateWhenTrue
.Clone();
FlowAnalysis\DefiniteAssignment.cs (1)
1996
SetState(
StateWhenTrue
);
FlowAnalysis\DefinitelyAssignedWalker.cs (1)
77
this.ProcessState(definitelyAssigned, this.
StateWhenTrue
, this.StateWhenFalse);
FlowAnalysis\NullableWalker.cs (13)
502
return $"{{{GetType().Name} WhenTrue:{Dump(
StateWhenTrue
)} WhenFalse:{Dump(StateWhenFalse)}{"}"}";
3094
var joinedState = this.
StateWhenTrue
.Clone();
3096
PendingBranches.Add(new PendingBranch(node, joinedState, label: null, this.IsConditionalState, this.
StateWhenTrue
, this.StateWhenFalse));
5251
var (stateWhenTrue, stateWhenFalse) = (
StateWhenTrue
.Clone(), StateWhenFalse.Clone());
5267
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
6160
var consequenceState = this.
StateWhenTrue
;
6429
=> this.IsConditionalState ? (this.
StateWhenTrue
.Reachable || this.StateWhenFalse.Reachable) : this.State.Reachable;
7772
SetState(
StateWhenTrue
);
8067
SetState(
StateWhenTrue
);
11947
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
11962
SetConditionalState(StateWhenFalse,
StateWhenTrue
);
12151
var leftTrue = this.
StateWhenTrue
;
12168
var leftTrue = this.
StateWhenTrue
;
FlowAnalysis\NullableWalker_Patterns.cs (8)
362
? new PossiblyConditionalState(nullableWalker.
StateWhenTrue
, nullableWalker.StateWhenFalse)
605
gotoNode(p.WhenTrue, this.
StateWhenTrue
, nodeBelievedReachable);
620
gotoNode(p.WhenTrue, this.
StateWhenTrue
, nodeBelievedReachable);
629
gotoNode(p.WhenTrue, this.
StateWhenTrue
, nodeBelievedReachable);
650
gotoNode(p.WhenTrue, isFalseTest ? this.StateWhenFalse : this.
StateWhenTrue
, nodeBelievedReachable);
651
gotoNode(p.WhenFalse, isFalseTest ? this.
StateWhenTrue
: this.StateWhenFalse, nodeBelievedReachable);
658
gotoNode(p.WhenTrue, this.
StateWhenTrue
, nodeBelievedReachable);
711
gotoNode(w.WhenTrue, this.
StateWhenTrue
, nodeBelievedReachable);