internal void AddReturnTypes(Node node, AnalysisUnit unit, IAnalysisSet types, bool enqueue = true) { if (IsOriginalClosureScope(OuterScope)) { // Do not add return types to original scope of closure functions return; } if (types?.Any() != true) { return; } if (Coroutine != null) { Coroutine.AddReturn(node, unit, types, enqueue); } else if (Generator != null) { Generator.AddReturn(node, unit, types, enqueue); } else { ReturnValue.MakeUnionStrongerIfMoreThan(unit.State.Limits.ReturnTypes, types); ReturnValue.AddTypes(unit, types, enqueue); } }