3 instantiations of LocalState
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.cs (3)
12282
return new
LocalState
(variables.Id, container, createBitVectorWithNotNulls(capacity, reachable: true));
12305
return new
LocalState
(variables.Id, container, CreateBitVector(reachable));
12311
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)
247
/// 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>)"/>.
622
void enforceMemberNotNull(SyntaxNode? syntaxOpt,
LocalState
state)
703
void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member,
LocalState
state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis)
980
private void EnforceMemberNotNullOnMember(SyntaxNode? syntaxOpt,
LocalState
state, MethodSymbol method, string memberName)
1030
void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members,
LocalState
state,
LocalState
otherState)
1042
void enforceMemberNotNullWhen(SyntaxNode? syntaxOpt, bool sense,
LocalState
state)
1058
private void ReportFailedMemberNotNullIfNeeded(SyntaxNode? syntaxOpt, bool sense, Symbol member,
LocalState
state)
1067
private bool FailsMemberNotNullExpectation(Symbol member,
LocalState
state)
1191
private void EnforceParameterNotNullOnExit(SyntaxNode? syntaxOpt,
LocalState
state)
1231
private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense,
LocalState
stateWhen)
1244
private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense,
LocalState
stateWhen)
1253
bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense,
LocalState
stateWhen)
1291
private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt,
LocalState
state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam)
1591
Analyze(walker, symbol, diagnostics: null,
LocalState
.Create(localState), snapshotBuilderOpt: newSnapshotBuilder);
1708
var
localState =
LocalState
.Create(initialState.VariableNullableStates).CreateNestedMethodState(variables);
1756
Analyze(walker, symbol, diagnostics, initialState is null ? (Optional<
LocalState
>)default :
LocalState
.Create(initialState.VariableNullableStates), snapshotBuilderOpt, requiresAnalysis);
1773
Optional<
LocalState
> initialState,
1867
private NullableFlowState GetState(ref
LocalState
state, int slot)
1876
private void SetState(ref
LocalState
state, int slot, NullableFlowState value, bool useNotNullsAsDefault = false)
1885
private void NormalizeIfNeeded(ref
LocalState
state, int slot, bool useNotNullsAsDefault)
1890
protected override void Normalize(ref
LocalState
state)
1898
private NullableFlowState GetDefaultState(ref
LocalState
state, int slot)
2687
private void SetStateAndTrackForFinally(ref
LocalState
state, int slot, NullableFlowState newState)
2693
var
tryState = NonMonotonicState.Value;
2702
protected override void JoinTryBlockState(ref
LocalState
self, ref
LocalState
other)
2704
var
tryState = other.GetStateForVariables(self.Id);
2758
protected override
LocalState
TopState()
2760
var
state =
LocalState
.ReachableState(_variables);
2765
protected override
LocalState
UnreachableState()
2767
return
LocalState
.UnreachableState(_variables);
2770
protected override
LocalState
ReachableBottomState()
2773
return
LocalState
.ReachableStateWithNotNulls(_variables);
2806
var
parameterDefaultsNotAssignedState = State.Clone();
2931
var
joinedState = this.StateWhenTrue.Clone();
3162
var
state = TopState();
3188
var
startingState = localFunctionState.StartingState;
3231
LocalState
state,
3257
var
oldState = this.State;
3334
void enforceMemberNotNull(SyntaxNode? syntax,
LocalState
state)
3361
var
state = State.GetStateForVariables(localFunctionState.StartingState.Id);
3477
var
currentState = State;
4413
private void SetNotNullResultForLambda(BoundExpression node,
LocalState
stateForLambda)
4912
var
stateAfterLeft = this.State;
4915
var
stateWhenNotNull = this.State;
4971
LocalState
getUnconditionalStateWhenNotNull(BoundExpression otherOperand, PossiblyConditionalState conditionalStateWhenNotNull)
4973
LocalState
stateWhenNotNull;
5009
var
stateWhenNotNull = getUnconditionalStateWhenNotNull(leftOperand, conditionalStateWhenNotNull);
5285
ref
LocalState
stateToUpdate = ref whenTrue ? ref this.StateWhenTrue : ref this.StateWhenFalse;
5291
protected override bool VisitInterpolatedStringHandlerParts(BoundInterpolatedStringBase node, bool usesBoolReturns, bool firstPartIsConditional, ref
LocalState
shortCircuitState)
5396
private void MarkSlotsAsNotNull(ArrayBuilder<int> slots, ref
LocalState
stateToUpdate)
5404
private void LearnFromNonNullTest(BoundExpression expression, ref
LocalState
state)
5427
private void LearnFromNonNullTest(int slot, ref
LocalState
state)
5432
private void LearnFromNullTest(BoundExpression expression, ref
LocalState
state)
5450
private void LearnFromNullTest(int slot, TypeSymbol? expressionType, ref
LocalState
state, bool markDependentSlotsNotNull)
5470
private void MarkDependentSlotsNotNull(int slot, TypeSymbol expressionType, ref
LocalState
state, int depth = 2)
5551
var
leftState = this.State.Clone();
5769
var
savedState = this.State.Clone();
5878
var
consequenceState = this.StateWhenTrue;
5879
var
alternativeState = this.StateWhenFalse;
6004
BoundExpression node, BoundExpression originalConsequence, BoundExpression originalAlternative,
LocalState
consequenceState,
LocalState
alternativeState,
6051
LocalState
consequenceState,
6052
LocalState
alternativeState,
6072
(BoundExpression, Conversion, TypeWithState) visitConditionalOperand(
LocalState
state, BoundExpression operand)
6085
(TypeWithAnnotations LValueType, TypeWithState RValueType) visitConditionalRefOperand(
LocalState
state, BoundExpression operand)
6108
LocalState
state,
7170
void applyMemberPostConditions(int receiverSlot, TypeSymbol type, ImmutableArray<string> members, ref
LocalState
state)
7183
void markMembersAsNotNull(int receiverSlot, TypeSymbol type, string memberName, ref
LocalState
state)
7607
var
originalWhenFalse = StateWhenFalse.Clone();
7613
var
newWhenTrue = State.Clone();
7775
private static VariableState GetVariableState(Variables variables,
LocalState
localState)
8406
var
savedState = this.State.Clone();
8789
Optional<
LocalState
> stateForLambda = default,
9851
var
stateForLambda = this.State.Clone();
9863
private void VisitLambda(BoundLambda node, NamedTypeSymbol? delegateTypeOpt, Optional<
LocalState
> initialState = default)
11352
protected override void AfterLeftChildOfBinaryLogicalOperatorHasBeenVisited(BoundExpression node, BoundExpression right, bool isAnd, bool isBool, ref
LocalState
leftTrue, ref
LocalState
leftFalse)
11511
LocalState
stateWhenNotNull;
12003
protected override void VisitCatchBlock(BoundCatchBlock node, ref
LocalState
finallyState)
12119
protected override string Dump(
LocalState
state)
12124
protected override bool Meet(ref
LocalState
self, ref
LocalState
other)
12141
protected override bool Join(ref
LocalState
self, ref
LocalState
other)
12178
private
LocalState
CloneAndUnsplit(ref PossiblyConditionalState conditionalState)
12185
var
state = conditionalState.StateWhenTrue.Clone();
12227
internal
LocalState
Value;
12229
internal Boxed(
LocalState
value)
12250
internal static
LocalState
Create(LocalStateSnapshot snapshot)
12265
public static
LocalState
ReachableState(Variables variables)
12270
public static
LocalState
UnreachableState(Variables variables)
12275
public static
LocalState
ReachableStateWithNotNulls(Variables variables)
12299
private static
LocalState
CreateReachableOrUnreachableState(Variables variables, bool reachable)
12308
public
LocalState
CreateNestedMethodState(Variables variables)
12337
bool hasVariableCore(ref
LocalState
state, int id, int index)
12355
static bool hasValue(ref
LocalState
state, int slot)
12365
static bool hasValueCore(ref
LocalState
state, int id, int index)
12494
internal
LocalState
GetStateForVariables(int id)
12496
var
state = this;
12508
public
LocalState
Clone()
12514
public bool Join(in
LocalState
other)
12543
public bool Meet(in
LocalState
other)
12634
public
LocalState
StartingState;
12636
public LocalFunctionState(
LocalState
unreachableState)
12648
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)