/// <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)); })); }
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); }