3 instantiations of LocalState
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.cs (3)
12463
return new
LocalState
(variables.Id, container, createBitVectorWithNotNulls(capacity, reachable: true));
12486
return new
LocalState
(variables.Id, container, CreateBitVector(reachable));
12492
return new
LocalState
(variables.Id, container: new Boxed(this), CreateBitVector(reachable: true));
132 references to LocalState
Microsoft.CodeAnalysis.CSharp (132)
FlowAnalysis\NullableWalker.cs (113)
27
: LocalDataFlowPass<NullableWalker.
LocalState
, NullableWalker.LocalFunctionState>
104
public readonly Optional<
LocalState
> StateForLambda;
120
public VisitResult(TypeWithState rValueType, TypeWithAnnotations lValueType, Optional<
LocalState
> stateForLambda)
253
/// The delegate is invoked by <see cref="VisitConversion(BoundConversion, BoundExpression, Conversion, TypeWithAnnotations, TypeWithState, bool, bool, bool, AssignmentKind, ParameterSymbol, bool, bool, bool, bool, Optional<
LocalState
>,bool, Location, ArrayBuilder<VisitResult>)"/>.
632
void enforceMemberNotNull(SyntaxNode? syntaxOpt,
LocalState
state)
713
void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member,
LocalState
state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis)
1050
private void EnforceMemberNotNullOnMember(SyntaxNode? syntaxOpt,
LocalState
state, MethodSymbol method, string memberName)
1100
void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members,
LocalState
state,
LocalState
otherState)
1112
void enforceMemberNotNullWhen(SyntaxNode? syntaxOpt, bool sense,
LocalState
state)
1128
private void ReportFailedMemberNotNullIfNeeded(SyntaxNode? syntaxOpt, bool sense, Symbol member,
LocalState
state)
1137
private bool FailsMemberNotNullExpectation(Symbol member,
LocalState
state)
1263
private void EnforceParameterNotNullOnExit(SyntaxNode? syntaxOpt,
LocalState
state)
1303
private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense,
LocalState
stateWhen)
1316
private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense,
LocalState
stateWhen)
1325
bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense,
LocalState
stateWhen)
1363
private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt,
LocalState
state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1666
Analyze(walker, symbol, diagnostics: null,
LocalState
.Create(localState), snapshotBuilderOpt: newSnapshotBuilder);
1786
var
localState =
LocalState
.Create(initialState.VariableNullableStates).CreateNestedMethodState(variables);
1839
Analyze(walker, symbol, diagnostics, initialState is null ? (Optional<
LocalState
>)default :
LocalState
.Create(initialState.VariableNullableStates), snapshotBuilderOpt, requiresAnalysis);
1856
Optional<
LocalState
> initialState,
1950
private NullableFlowState GetState(ref
LocalState
state, int slot)
1959
private void SetState(ref
LocalState
state, int slot, NullableFlowState value, bool useNotNullsAsDefault = false)
1968
private void NormalizeIfNeeded(ref
LocalState
state, int slot, bool useNotNullsAsDefault)
1973
protected override void Normalize(ref
LocalState
state)
1981
private NullableFlowState GetDefaultState(ref
LocalState
state, int slot)
2789
private void SetStateAndTrackForFinally(ref
LocalState
state, int slot, NullableFlowState newState)
2795
var
tryState = NonMonotonicState.Value;
2804
protected override void JoinTryBlockState(ref
LocalState
self, ref
LocalState
other)
2806
var
tryState = other.GetStateForVariables(self.Id);
2900
protected override
LocalState
TopState()
2902
var
state =
LocalState
.ReachableState(_variables);
2907
protected override
LocalState
UnreachableState()
2909
return
LocalState
.UnreachableState(_variables);
2912
protected override
LocalState
ReachableBottomState()
2915
return
LocalState
.ReachableStateWithNotNulls(_variables);
2948
var
parameterDefaultsNotAssignedState = State.Clone();
3073
var
joinedState = this.StateWhenTrue.Clone();
3304
var
state = TopState();
3330
var
startingState = localFunctionState.StartingState;
3373
LocalState
state,
3399
var
oldState = this.State;
3476
void enforceMemberNotNull(SyntaxNode? syntax,
LocalState
state)
3503
var
state = State.GetStateForVariables(localFunctionState.StartingState.Id);
3619
var
currentState = State;
4559
private void SetNotNullResultForLambda(BoundExpression node,
LocalState
stateForLambda)
5059
var
stateAfterLeft = this.State;
5062
var
stateWhenNotNull = this.State;
5118
LocalState
getUnconditionalStateWhenNotNull(BoundExpression otherOperand, PossiblyConditionalState conditionalStateWhenNotNull)
5120
LocalState
stateWhenNotNull;
5156
var
stateWhenNotNull = getUnconditionalStateWhenNotNull(leftOperand, conditionalStateWhenNotNull);
5432
ref
LocalState
stateToUpdate = ref whenTrue ? ref this.StateWhenTrue : ref this.StateWhenFalse;
5438
protected override bool VisitInterpolatedStringHandlerParts(BoundInterpolatedStringBase node, bool usesBoolReturns, bool firstPartIsConditional, ref
LocalState
shortCircuitState)
5543
private void MarkSlotsAsNotNull(ArrayBuilder<int> slots, ref
LocalState
stateToUpdate)
5551
private void LearnFromNonNullTest(BoundExpression expression, ref
LocalState
state)
5574
private void LearnFromNonNullTest(int slot, ref
LocalState
state)
5579
private void LearnFromNullTest(BoundExpression expression, ref
LocalState
state)
5597
private void LearnFromNullTest(int slot, TypeSymbol? expressionType, ref
LocalState
state, bool markDependentSlotsNotNull)
5617
private void MarkDependentSlotsNotNull(int slot, TypeSymbol expressionType, ref
LocalState
state, int depth = 2)
5698
var
leftState = this.State.Clone();
5916
var
savedState = this.State.Clone();
6025
var
consequenceState = this.StateWhenTrue;
6026
var
alternativeState = this.StateWhenFalse;
6151
BoundExpression node, BoundExpression originalConsequence, BoundExpression originalAlternative,
LocalState
consequenceState,
LocalState
alternativeState,
6198
LocalState
consequenceState,
6199
LocalState
alternativeState,
6219
(BoundExpression, Conversion, TypeWithState) visitConditionalOperand(
LocalState
state, BoundExpression operand)
6232
(TypeWithAnnotations LValueType, TypeWithState RValueType) visitConditionalRefOperand(
LocalState
state, BoundExpression operand)
6255
LocalState
state,
7331
void applyMemberPostConditions(int receiverSlot, TypeSymbol type, ImmutableArray<string> members, ref
LocalState
state)
7344
void markMembersAsNotNull(int receiverSlot, TypeSymbol type, string memberName, ref
LocalState
state)
7768
var
originalWhenFalse = StateWhenFalse.Clone();
7774
var
newWhenTrue = State.Clone();
7936
private static VariableState GetVariableState(Variables variables,
LocalState
localState)
8569
var
savedState = this.State.Clone();
8952
Optional<
LocalState
> stateForLambda = default,
10017
var
stateForLambda = this.State.Clone();
10029
private void VisitLambda(BoundLambda node, NamedTypeSymbol? delegateTypeOpt, Optional<
LocalState
> initialState = default)
11533
protected override void AfterLeftChildOfBinaryLogicalOperatorHasBeenVisited(BoundExpression node, BoundExpression right, bool isAnd, bool isBool, ref
LocalState
leftTrue, ref
LocalState
leftFalse)
11692
LocalState
stateWhenNotNull;
12184
protected override void VisitCatchBlock(BoundCatchBlock node, ref
LocalState
finallyState)
12300
protected override string Dump(
LocalState
state)
12305
protected override bool Meet(ref
LocalState
self, ref
LocalState
other)
12322
protected override bool Join(ref
LocalState
self, ref
LocalState
other)
12359
private
LocalState
CloneAndUnsplit(ref PossiblyConditionalState conditionalState)
12366
var
state = conditionalState.StateWhenTrue.Clone();
12408
internal
LocalState
Value;
12410
internal Boxed(
LocalState
value)
12431
internal static
LocalState
Create(LocalStateSnapshot snapshot)
12446
public static
LocalState
ReachableState(Variables variables)
12451
public static
LocalState
UnreachableState(Variables variables)
12456
public static
LocalState
ReachableStateWithNotNulls(Variables variables)
12480
private static
LocalState
CreateReachableOrUnreachableState(Variables variables, bool reachable)
12489
public
LocalState
CreateNestedMethodState(Variables variables)
12518
bool hasVariableCore(ref
LocalState
state, int id, int index)
12536
static bool hasValue(ref
LocalState
state, int slot)
12546
static bool hasValueCore(ref
LocalState
state, int id, int index)
12675
internal
LocalState
GetStateForVariables(int id)
12677
var
state = this;
12689
public
LocalState
Clone()
12695
public bool Join(in
LocalState
other)
12724
public bool Meet(in
LocalState
other)
12815
public
LocalState
StartingState;
12817
public LocalFunctionState(
LocalState
unreachableState)
12829
return new LocalFunctionState(
LocalState
.UnreachableState(variables));
FlowAnalysis\NullableWalker.SnapshotManager.cs (1)
208
internal void TakeIncrementalSnapshot(BoundNode? node,
LocalState
currentState)
FlowAnalysis\NullableWalker_Patterns.cs (18)
37
var
currentState = State;
273
protected override
LocalState
VisitSwitchStatementDispatch(BoundSwitchStatement node)
339
public
LocalState
State;
340
public
LocalState
StateWhenTrue;
341
public
LocalState
StateWhenFalse;
344
public PossiblyConditionalState(
LocalState
stateWhenTrue,
LocalState
stateWhenFalse)
352
public PossiblyConditionalState(
LocalState
state)
374
private PooledDictionary<LabelSymbol, (
LocalState
state, bool believedReachable)> LearnFromDecisionDag(
416
var labelStateMap = PooledDictionary<LabelSymbol, (
LocalState
state, bool believedReachable)>.GetInstance();
729
void learnFromNonNullTest(int inputSlot, ref
LocalState
state)
804
void gotoNode(BoundDecisionDagNode node,
LocalState
state, bool believedReachable)
893
var
endState = UnreachableState();
987
PooledDictionary<LabelSymbol, (
LocalState
state, bool believedReachable)> labelStateMap,
1001
var
armState = getStateForArm(arm, labelStateMap);
1032
PooledDictionary<LabelSymbol, (
LocalState
state, bool believedReachable)> labelStateMap,
1044
LocalState
getStateForArm(BoundSwitchExpressionArm arm, PooledDictionary<LabelSymbol, (
LocalState
state, bool believedReachable)> labelStateMap)