Esempio n. 1
0
        /// <inheritdoc />
        public async Task <Possible <WorkspaceDefinition> > GetWorkspaceDefinitionForAllResolversAsync()
        {
            var moduleDefinitions = await GetModuleDefinitionsForAllResolversAsync();

            return(await moduleDefinitions.ThenAsync(
                       async md =>
            {
                var maybePrelude = await FindUniqueModuleDefinitionWithName(ModuleReferenceWithProvenance.FromName(Configuration.PreludeName));
                return maybePrelude.Then(p => new WorkspaceDefinition(md, p));
            }));
        }
Esempio n. 2
0
        private async Task <Possible <ModuleDefinition> > TryGetPreludeModuleDefinitionAsync()
        {
            ModuleDefinition preludeDefinition = null;

            // Check if the prelude is required, and in that case, verify resolvers know about it and include it in the
            // workspace construction
            if (Configuration.ShouldIncludePrelude)
            {
                // TODO: switch to ValueTasks
                // Since the prelude is implicitly imported, there is no real provenance location.
                var maybePrelude = await FindUniqueModuleDefinitionWithName(ModuleReferenceWithProvenance.FromName(Configuration.PreludeName));

                if (!maybePrelude.Succeeded)
                {
                    return(maybePrelude);
                }

                preludeDefinition = maybePrelude.Result;
            }

            return(preludeDefinition);
        }