3 instantiations of Variables
Microsoft.CodeAnalysis.CSharp (3)
FlowAnalysis\NullableWalker.Variables.cs (3)
142return new Variables(id: 0, container: null, symbol); 148var variables = new Variables(snapshot.Id, container, snapshot.Symbol); 220return new Variables(id: GetNextId(), this, method);
56 references to Variables
Microsoft.CodeAnalysis.CSharp (56)
FlowAnalysis\NullableWalker.cs (34)
184private Variables _variables; 263private PooledDictionary<MethodSymbol, Variables>? _nestedFunctionVariables; 470foreach (var variables in _nestedFunctionVariables.Values) 485for (var variables = _variables; variables is not null; variables = variables.Container) 506Variables? variables, 518_variables = variables ?? Variables.Create(symbol); 1715Variables.Create(variables), 1824var variables = Variables.Create(initialState.Variables).CreateNestedMethodScope(symbol); 1888initialState is null ? null : Variables.Create(initialState.Variables), 3435private Variables GetOrCreateNestedFunctionVariables(Variables container, MethodSymbol lambdaOrLocalFunction) 3437_nestedFunctionVariables ??= PooledDictionary<MethodSymbol, Variables>.GetInstance(); 3438if (!_nestedFunctionVariables.TryGetValue(lambdaOrLocalFunction, out var variables)) 8644private static VariableState GetVariableState(Variables variables, LocalState localState) 13885/// <see cref="Variables"/> chain, and the <see cref="Id"/> field in this type matches <see cref="Variables.Id"/>. 13930public static LocalState ReachableState(Variables variables) 13935public static LocalState UnreachableState(Variables variables) 13940public static LocalState ReachableStateWithNotNulls(Variables variables) 13964private static LocalState CreateReachableOrUnreachableState(Variables variables, bool reachable) 13973public LocalState CreateNestedMethodState(Variables variables) 13999(int id, int index) = Variables.DeconstructSlot(slot); 14015public void NormalizeIfNeeded(int slot, NullableWalker walker, Variables variables, bool useNotNullsAsDefault = false) 14026(int id, int index) = Variables.DeconstructSlot(slot); 14044public void Normalize(NullableWalker walker, Variables variables, bool useNotNullsAsDefault = false) 14071int slot = Variables.ConstructSlot(Id, index); 14080(int id, int index) = Variables.DeconstructSlot(slot); 14085(int id, int index) = Variables.DeconstructSlot(slot); 14155action(Variables.ConstructSlot(Id, index), arg); 14249internal string Dump(Variables variables) 14262private void Dump(StringBuilder builder, Variables variables) 14268if (getName(Variables.ConstructSlot(Id, index)) is string name) 14311var variables = (symbol.ContainingSymbol is MethodSymbol containingMethod ? _variables.GetVariablesForMethodScope(containingMethod) : null) ??
FlowAnalysis\NullableWalker.Variables.cs (22)
17/// An immutable copy of <see cref="Variables"/>. 111internal readonly Variables? Container; 140internal static Variables Create(Symbol? symbol) 145internal static Variables Create(VariablesSnapshot snapshot) 147var container = snapshot.Container is null ? null : Create(snapshot.Container); 148var variables = new Variables(snapshot.Id, container, snapshot.Symbol); 183private Variables(int id, Variables? container, Symbol? symbol) 213internal Variables CreateNestedMethodScope(MethodSymbol method) 241var variables = GetVariablesForVariable(identifier); 258var variables = GetVariablesForVariable(identifier); 298var variables = GetVariablesContainingSymbol(symbol); 304var variables = GetVariablesContainingSymbol(symbol); 314var variables = GetVariablesForId(id); 330var variables = GetVariablesForId(id)!; 342private Variables GetVariablesForVariable(VariableIdentifier identifier) 352private Variables GetVariablesContainingSymbol(Symbol symbol) 371internal Variables GetRootScope() 373var variables = this; 381private Variables? GetVariablesForId(int id) 383var variables = this; 396internal Variables? GetVariablesForMethodScope(MethodSymbol method) 398var variables = this;