3 instantiations of LocalState
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.cs (3)
12354return new LocalState(variables.Id, container, createBitVectorWithNotNulls(capacity, reachable: true)); 12377return new LocalState(variables.Id, container, CreateBitVector(reachable)); 12383return 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) 247/// 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;)"/>. 623void enforceMemberNotNull(SyntaxNode? syntaxOpt, LocalState state) 704void checkMemberStateOnConstructorExit(MethodSymbol constructor, Symbol member, LocalState state, int thisSlot, Location? exitLocation, ImmutableArray<string> membersWithStateEnforcedByRequiredMembers, bool forcePropertyAnalysis) 1041private void EnforceMemberNotNullOnMember(SyntaxNode? syntaxOpt, LocalState state, MethodSymbol method, string memberName) 1091void enforceMemberNotNullWhenIfAffected(SyntaxNode? syntaxOpt, bool sense, ImmutableArray<Symbol> members, LocalState state, LocalState otherState) 1103void enforceMemberNotNullWhen(SyntaxNode? syntaxOpt, bool sense, LocalState state) 1119private void ReportFailedMemberNotNullIfNeeded(SyntaxNode? syntaxOpt, bool sense, Symbol member, LocalState state) 1128private bool FailsMemberNotNullExpectation(Symbol member, LocalState state) 1254private void EnforceParameterNotNullOnExit(SyntaxNode? syntaxOpt, LocalState state) 1294private void EnforceParameterNotNullWhenOnExit(SyntaxNode syntax, ImmutableArray<ParameterSymbol> parameters, bool sense, LocalState stateWhen) 1307private void ReportParameterIfBadConditionalState(SyntaxNode syntax, ParameterSymbol parameter, bool sense, LocalState stateWhen) 1316bool parameterHasBadConditionalState(ParameterSymbol parameter, bool sense, LocalState stateWhen) 1354private void EnforceNotNullIfNotNull(SyntaxNode? syntaxOpt, LocalState state, ImmutableArray<ParameterSymbol> parameters, ImmutableHashSet<string> inputParamNames, NullableFlowState outputState, ParameterSymbol? outputParam) 1654Analyze(walker, symbol, diagnostics: null, LocalState.Create(localState), snapshotBuilderOpt: newSnapshotBuilder); 1771var localState = LocalState.Create(initialState.VariableNullableStates).CreateNestedMethodState(variables); 1819Analyze(walker, symbol, diagnostics, initialState is null ? (Optional<LocalState>)default : LocalState.Create(initialState.VariableNullableStates), snapshotBuilderOpt, requiresAnalysis); 1836Optional<LocalState> initialState, 1930private NullableFlowState GetState(ref LocalState state, int slot) 1939private void SetState(ref LocalState state, int slot, NullableFlowState value, bool useNotNullsAsDefault = false) 1948private void NormalizeIfNeeded(ref LocalState state, int slot, bool useNotNullsAsDefault) 1953protected override void Normalize(ref LocalState state) 1961private NullableFlowState GetDefaultState(ref LocalState state, int slot) 2750private void SetStateAndTrackForFinally(ref LocalState state, int slot, NullableFlowState newState) 2756var tryState = NonMonotonicState.Value; 2765protected override void JoinTryBlockState(ref LocalState self, ref LocalState other) 2767var tryState = other.GetStateForVariables(self.Id); 2821protected override LocalState TopState() 2823var state = LocalState.ReachableState(_variables); 2828protected override LocalState UnreachableState() 2830return LocalState.UnreachableState(_variables); 2833protected override LocalState ReachableBottomState() 2836return LocalState.ReachableStateWithNotNulls(_variables); 2869var parameterDefaultsNotAssignedState = State.Clone(); 2994var joinedState = this.StateWhenTrue.Clone(); 3225var state = TopState(); 3251var startingState = localFunctionState.StartingState; 3294LocalState state, 3320var oldState = this.State; 3397void enforceMemberNotNull(SyntaxNode? syntax, LocalState state) 3424var state = State.GetStateForVariables(localFunctionState.StartingState.Id); 3540var currentState = State; 4479private void SetNotNullResultForLambda(BoundExpression node, LocalState stateForLambda) 4978var stateAfterLeft = this.State; 4981var stateWhenNotNull = this.State; 5037LocalState getUnconditionalStateWhenNotNull(BoundExpression otherOperand, PossiblyConditionalState conditionalStateWhenNotNull) 5039LocalState stateWhenNotNull; 5075var stateWhenNotNull = getUnconditionalStateWhenNotNull(leftOperand, conditionalStateWhenNotNull); 5351ref LocalState stateToUpdate = ref whenTrue ? ref this.StateWhenTrue : ref this.StateWhenFalse; 5357protected override bool VisitInterpolatedStringHandlerParts(BoundInterpolatedStringBase node, bool usesBoolReturns, bool firstPartIsConditional, ref LocalState shortCircuitState) 5462private void MarkSlotsAsNotNull(ArrayBuilder<int> slots, ref LocalState stateToUpdate) 5470private void LearnFromNonNullTest(BoundExpression expression, ref LocalState state) 5493private void LearnFromNonNullTest(int slot, ref LocalState state) 5498private void LearnFromNullTest(BoundExpression expression, ref LocalState state) 5516private void LearnFromNullTest(int slot, TypeSymbol? expressionType, ref LocalState state, bool markDependentSlotsNotNull) 5536private void MarkDependentSlotsNotNull(int slot, TypeSymbol expressionType, ref LocalState state, int depth = 2) 5617var leftState = this.State.Clone(); 5835var savedState = this.State.Clone(); 5944var consequenceState = this.StateWhenTrue; 5945var alternativeState = this.StateWhenFalse; 6070BoundExpression node, BoundExpression originalConsequence, BoundExpression originalAlternative, LocalState consequenceState, LocalState alternativeState, 6117LocalState consequenceState, 6118LocalState alternativeState, 6138(BoundExpression, Conversion, TypeWithState) visitConditionalOperand(LocalState state, BoundExpression operand) 6151(TypeWithAnnotations LValueType, TypeWithState RValueType) visitConditionalRefOperand(LocalState state, BoundExpression operand) 6174LocalState state, 7242void applyMemberPostConditions(int receiverSlot, TypeSymbol type, ImmutableArray<string> members, ref LocalState state) 7255void markMembersAsNotNull(int receiverSlot, TypeSymbol type, string memberName, ref LocalState state) 7679var originalWhenFalse = StateWhenFalse.Clone(); 7685var newWhenTrue = State.Clone(); 7847private static VariableState GetVariableState(Variables variables, LocalState localState) 8478var savedState = this.State.Clone(); 8861Optional<LocalState> stateForLambda = default, 9923var stateForLambda = this.State.Clone(); 9935private void VisitLambda(BoundLambda node, NamedTypeSymbol? delegateTypeOpt, Optional<LocalState> initialState = default) 11424protected override void AfterLeftChildOfBinaryLogicalOperatorHasBeenVisited(BoundExpression node, BoundExpression right, bool isAnd, bool isBool, ref LocalState leftTrue, ref LocalState leftFalse) 11583LocalState stateWhenNotNull; 12075protected override void VisitCatchBlock(BoundCatchBlock node, ref LocalState finallyState) 12191protected override string Dump(LocalState state) 12196protected override bool Meet(ref LocalState self, ref LocalState other) 12213protected override bool Join(ref LocalState self, ref LocalState other) 12250private LocalState CloneAndUnsplit(ref PossiblyConditionalState conditionalState) 12257var state = conditionalState.StateWhenTrue.Clone(); 12299internal LocalState Value; 12301internal Boxed(LocalState value) 12322internal static LocalState Create(LocalStateSnapshot snapshot) 12337public static LocalState ReachableState(Variables variables) 12342public static LocalState UnreachableState(Variables variables) 12347public static LocalState ReachableStateWithNotNulls(Variables variables) 12371private static LocalState CreateReachableOrUnreachableState(Variables variables, bool reachable) 12380public LocalState CreateNestedMethodState(Variables variables) 12409bool hasVariableCore(ref LocalState state, int id, int index) 12427static bool hasValue(ref LocalState state, int slot) 12437static bool hasValueCore(ref LocalState state, int id, int index) 12566internal LocalState GetStateForVariables(int id) 12568var state = this; 12580public LocalState Clone() 12586public bool Join(in LocalState other) 12615public bool Meet(in LocalState other) 12706public LocalState StartingState; 12708public LocalFunctionState(LocalState unreachableState) 12720return 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)