3 writes to _variables
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.cs (3)
501_variables = variables ?? Variables.Create(symbol); 3442_variables = GetOrCreateNestedFunctionVariables(_variables, lambdaOrFunctionSymbol); 3505_variables = _variables.Container!;
39 references to _variables
Microsoft.CodeAnalysis.CSharp (39)
FlowAnalysis\NullableWalker.cs (37)
472_variables.Free(); 552return _variables.TryGetValue(identifier, out slot); 557return _variables.Add(identifier); 1884finalNullableState = GetVariableState(walker._variables, walker.State); 1908Debug.Assert(walker._variables.Id == initialState.Value.Id); 1939state.TryAdd(key, new Data(_variables.GetTotalVariableCount(), requiredAnalysis)); 1946return new SharedWalkerState(_variables.CreateSnapshot()); 2011state.NormalizeIfNeeded(slot, this, _variables, useNotNullsAsDefault); 2019state.Normalize(this, _variables); 2029var variable = _variables[slot]; 2037if (!_variables.TryGetType(local, out TypeWithAnnotations localType)) 2046if (!_variables.TryGetType(parameter, out TypeWithAnnotations parameterType)) 2276|| (!constructor.IsStatic && containingSlot > 0 && _variables[containingSlot].Symbol is ThisParameterSymbol)) 2821return GetTypeOrReturnType(_variables[slot].Symbol); 2856var actualType = GetTypeOrReturnType(_variables[targetSlot].Symbol); 2871_variables.GetMembers(members, targetSlot); 2931_variables.GetMembers(members, valueSlot); 2943var state = LocalState.ReachableState(_variables); 2950return LocalState.UnreachableState(_variables); 2956return LocalState.ReachableStateWithNotNulls(_variables); 3003_variables.SetType(parameter, parameterType); 3353state.Normalize(this, _variables); 3362_variables); 3382_variables); 3442_variables = GetOrCreateNestedFunctionVariables(_variables, lambdaOrFunctionSymbol); 3443this.State = state.CreateNestedMethodState(_variables); 3505_variables = _variables.Container!; 3696_variables.SetType(local, type); 8059_variables.SetType(local.LocalSymbol, varType); 8516return getUnboundLambda((BoundLambda)argument, GetVariableState(_variables, lambdaState.Value), _getterNullResilienceData); 10912_variables.SetType(local.LocalSymbol, operandType.ToAnnotatedTypeWithAnnotations(compilation)); 11411return _variables.TryGetType(local, out TypeWithAnnotations type) ? 11418return _variables.TryGetType(parameter, out TypeWithAnnotations type) ? 11931_variables.SetType(iterationVariable, destinationType); 13042return state.Dump(_variables); 13567var variables = (symbol.ContainingSymbol is MethodSymbol containingMethod ? _variables.GetVariablesForMethodScope(containingMethod) : null) ?? 13568_variables.GetRootScope();
FlowAnalysis\NullableWalker_Patterns.cs (2)
687if (_variables.TryGetType(local, out var existingType)) 692_variables.SetType(local, inferredType);