| File: Completion\Providers\ImportCompletionProvider\ITypeImportCompletionService.cs | Web Access |
| Project: src\roslyn\src\Features\Core\Portable\Microsoft.CodeAnalysis.Features.csproj (Microsoft.CodeAnalysis.Features) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Immutable; using System.Threading; using System.Threading.Tasks; using Microsoft.CodeAnalysis.Host; using Microsoft.CodeAnalysis.Shared.Extensions.ContextQuery; namespace Microsoft.CodeAnalysis.Completion.Providers; internal interface ITypeImportCompletionService : ILanguageService { /// <summary> /// Get completion items for all the accessible top level types from the given project and all its references. /// Each array returned contains all items from one of the reachable entities (i.e. projects and PE references.) /// Returns null if we don't have all the items cached and <paramref name="forceCacheCreation"/> is false. /// </summary> /// <remarks> /// Because items from each entity are cached as a separate array, we simply return them as is instead of an /// aggregated array to avoid unnecessary allocations. /// </remarks> Task<(ImmutableArray<ImmutableArray<CompletionItem>>, bool)> GetAllTopLevelTypesAsync( SyntaxContext syntaxContext, bool forceCacheCreation, CompletionOptions options, CancellationToken cancellationToken); void QueueCacheWarmUpTask(Project project); }