3 writes to _variables
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.cs (3)
518_variables = variables ?? Variables.Create(symbol); 3486_variables = GetOrCreateNestedFunctionVariables(_variables, lambdaOrFunctionSymbol); 3549_variables = _variables.Container!;
40 references to _variables
Microsoft.CodeAnalysis.CSharp (40)
FlowAnalysis\NullableWalker.cs (38)
485for (var variables = _variables; variables is not null; variables = variables.Container) 571return _variables.TryGetValue(identifier, out slot); 576return _variables.Add(identifier); 1901finalNullableState = GetVariableState(walker._variables, walker.State); 1925Debug.Assert(walker._variables.Id == initialState.Value.Id); 1956state.TryAdd(key, new Data(_variables.GetTotalVariableCount(), requiredAnalysis)); 1963return new SharedWalkerState(_variables.CreateSnapshot()); 2028state.NormalizeIfNeeded(slot, this, _variables, useNotNullsAsDefault); 2036state.Normalize(this, _variables); 2046var variable = _variables[slot]; 2053if (!_variables.TryGetType(local, out TypeWithAnnotations localType)) 2061if (!_variables.TryGetType(parameter, out TypeWithAnnotations parameterType)) 2069_variables[containingSlot].Symbol.GetTypeOrReturnType().Type is NamedTypeSymbol { IsUnionType: true, UnionCaseTypesNoUseSiteDiagnostics: not [] } unionType && 2313|| (!constructor.IsStatic && containingSlot > 0 && _variables[containingSlot].Symbol is ThisParameterSymbol)) 2866return GetTypeOrReturnType(_variables[slot].Symbol); 2901var actualType = GetTypeOrReturnType(_variables[targetSlot].Symbol); 2916_variables.GetMembers(members, targetSlot); 2976_variables.GetMembers(members, valueSlot); 2988var state = LocalState.ReachableState(_variables); 2995return LocalState.UnreachableState(_variables); 3001return LocalState.ReachableStateWithNotNulls(_variables); 3048_variables.SetType(parameter, parameterType); 3397state.Normalize(this, _variables); 3406_variables); 3426_variables); 3486_variables = GetOrCreateNestedFunctionVariables(_variables, lambdaOrFunctionSymbol); 3487this.State = state.CreateNestedMethodState(_variables); 3549_variables = _variables.Container!; 3767_variables.SetType(local, type); 8422_variables.SetType(local.LocalSymbol, varType); 8898return getUnboundLambda((BoundLambda)argument, GetVariableState(_variables, lambdaState.Value), _getterNullResilienceData); 11592_variables.SetType(local.LocalSymbol, operandType.ToAnnotatedTypeWithAnnotations(compilation)); 12109return _variables.TryGetType(local, out TypeWithAnnotations type) ? 12116return _variables.TryGetType(parameter, out TypeWithAnnotations type) ? 12684_variables.SetType(iterationVariable, destinationType); 13854return state.Dump(_variables); 14379var variables = (symbol.ContainingSymbol is MethodSymbol containingMethod ? _variables.GetVariablesForMethodScope(containingMethod) : null) ?? 14380_variables.GetRootScope();
FlowAnalysis\NullableWalker_Patterns.cs (2)
634if (_variables.TryGetType(local, out var existingType)) 639_variables.SetType(local, inferredType);