Microsoft.R.Support.Help.Packages.PackageInfo.GetFunctionNamesAsync C# (CSharp) Метод

GetFunctionNamesAsync() приватный Метод

private GetFunctionNamesAsync ( ) : Task>
Результат Task>
        private async Task<IEnumerable<string>> GetFunctionNamesAsync() {
            var functions = TryRestoreFromCache();
            if (functions == null || !functions.Any()) {
                try {
                    var result = await _host.Session.EvaluateAsync<JArray>(Invariant($"as.list(getNamespaceExports('{this.Name}'))"), REvaluationKind.BaseEnv);
                    functions = result
                                    .Select(p => (string)((JValue)p).Value)
                                    .Where(n => n.IndexOf(':') < 0);
                    result = await _host.Session.EvaluateAsync<JArray>(Invariant($"as.list(ls('package:{this.Name}'))"), REvaluationKind.BaseEnv);
                    var variables = result
                                    .Select(p => (string)((JValue)p).Value)
                                    .Where(n => n.IndexOf(':') < 0);

                    functions = functions.Union(variables);
                } catch (TaskCanceledException) { } catch (REvaluationException) { }
            } else {
                _saved = true;
            }
            return functions ?? Enumerable.Empty<string>();
        }