/// <nodoc/> public ValueTask <Possible <IReadOnlyCollection <ModuleDescriptor> > > TryGetModuleDescriptorsAsync(ModuleReferenceWithProvenance moduleReference) { return (ValueTask.FromResult( new Possible <IReadOnlyCollection <ModuleDescriptor> >( m_moduleDefinitions.Keys.Where(moduleDescriptor => moduleDescriptor.Name.Equals(moduleReference.Name)) .ToList()))); }
public async ValueTask <Possible <IReadOnlyCollection <ModuleDescriptor> > > TryGetModuleDescriptorsAsync(ModuleReferenceWithProvenance moduleReference) { Possible <IReadOnlyCollection <ModuleDescriptor> > result = (await m_graph.Value).Then( parsedResult => (IReadOnlyCollection <ModuleDescriptor>)( parsedResult.ModuleDefinition.Descriptor.Name == moduleReference.Name ? new[] { parsedResult.ModuleDefinition.Descriptor } : CollectionUtilities.EmptyArray <ModuleDescriptor>())); return(result); }
/// <inheritdoc /> public ValueTask <Possible <IReadOnlyCollection <ModuleDescriptor> > > TryGetModuleDescriptorsAsync(ModuleReferenceWithProvenance moduleReference) { Contract.Assume(m_descriptorsByName != null, "Init must have been called"); IReadOnlyCollection <ModuleDescriptor> result; if (m_descriptorsByName.TryGetValue(moduleReference.Name, out var descriptors)) { result = descriptors; } else { result = CollectionUtilities.EmptyArray <ModuleDescriptor>(); } return(ValueTaskFactory.FromResult(Possible.Create(result))); }