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