/// <summary> /// Handles the base assignment case for assign to a variable, minus variable creation. /// </summary> protected static bool AssignVariableWorker(Node location, AnalysisUnit unit, IAnalysisSet values, VariableDef vars) { vars.AddAssignment(location, unit); vars.MakeUnionStrongerIfMoreThan(unit.ProjectState.Limits.AssignedTypes, values); return(vars.AddTypes(unit, values)); }
public void AddYield(Node node, AnalysisUnit unit, IAnalysisSet yieldValue, bool enqueue = true) { Yields.MakeUnionStrongerIfMoreThan(ProjectState.Limits.YieldTypes, yieldValue); Yields.AddTypes(unit, yieldValue, enqueue); }
public void AddReturn(Node node, AnalysisUnit unit, IAnalysisSet returnValue, bool enqueue = true) { Returns.MakeUnionStrongerIfMoreThan(ProjectState.Limits.ReturnTypes, returnValue); Returns.AddTypes(unit, returnValue, enqueue); }
/// <summary> /// Handles the base assignment case for assign to a variable, minus variable creation. /// </summary> protected static bool AssignVariableWorker(Node location, AnalysisUnit unit, IAnalysisSet values, VariableDef vars) { vars.AddAssignment(location, unit); vars.MakeUnionStrongerIfMoreThan(unit.ProjectState.Limits.AssignedTypes, values); return vars.AddTypes(unit, values); }