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