File: ExternalAccess\VSTypeScript\VSTypeScriptFindUsagesContext.cs
Web Access
Project: src\src\EditorFeatures\Core\Microsoft.CodeAnalysis.EditorFeatures.csproj (Microsoft.CodeAnalysis.EditorFeatures)
// 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.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis.FindUsages;
using Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript.Api;
using Microsoft.CodeAnalysis.Shared.Extensions;
 
namespace Microsoft.CodeAnalysis.ExternalAccess.VSTypeScript;
 
internal sealed class VSTypeScriptFindUsagesContext(FindUsagesContext underlyingObject) : IVSTypeScriptFindUsagesContext
{
    internal readonly FindUsagesContext UnderlyingObject = underlyingObject;
 
    public IVSTypeScriptStreamingProgressTracker ProgressTracker
        => new VSTypeScriptStreamingProgressTracker(UnderlyingObject.ProgressTracker);
 
    public ValueTask ReportMessageAsync(string message, CancellationToken cancellationToken)
        => UnderlyingObject.ReportNoResultsAsync(message, cancellationToken);
 
    public ValueTask SetSearchTitleAsync(string title, CancellationToken cancellationToken)
        => UnderlyingObject.SetSearchTitleAsync(title, cancellationToken);
 
    public ValueTask OnDefinitionFoundAsync(VSTypeScriptDefinitionItem definition, CancellationToken cancellationToken)
        => UnderlyingObject.OnDefinitionFoundAsync(definition.UnderlyingObject, cancellationToken);
 
    public ValueTask OnReferenceFoundAsync(VSTypeScriptSourceReferenceItem reference, CancellationToken cancellationToken)
        => UnderlyingObject.OnReferencesFoundAsync(IAsyncEnumerableExtensions.SingletonAsync(reference.UnderlyingObject), cancellationToken);
 
    public ValueTask OnCompletedAsync(CancellationToken cancellationToken)
        => UnderlyingObject.OnCompletedAsync(cancellationToken);
}