| File: Copilot\OnTheFlyDocs\CopilotOnTheFlyDocsInfoWrapper.cs | Web Access |
| Project: src\roslyn\src\Features\ExternalAccess\Core\Microsoft.CodeAnalysis.Features.ExternalAccess.csproj (Microsoft.CodeAnalysis.Features.ExternalAccess) |
// 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 Microsoft.CodeAnalysis.QuickInfo; namespace Microsoft.CodeAnalysis.ExternalAccess.Copilot; internal sealed class CopilotOnTheFlyDocsInfoWrapper { private readonly OnTheFlyDocsInfo _onTheFlyDocsInfo; private readonly ImmutableArray<CopilotOnTheFlyDocsRelevantFileInfoWrapper?> _wrappedDeclarationCode; private readonly ImmutableArray<CopilotOnTheFlyDocsRelevantFileInfoWrapper?> _wrappedAdditionalContext; public CopilotOnTheFlyDocsInfoWrapper(OnTheFlyDocsInfo onTheFlyDocsInfo) { _onTheFlyDocsInfo = onTheFlyDocsInfo; _wrappedDeclarationCode = _onTheFlyDocsInfo.DeclarationCode.SelectAsArray(c => c is not null ? new CopilotOnTheFlyDocsRelevantFileInfoWrapper(c) : null); _wrappedAdditionalContext = _onTheFlyDocsInfo.AdditionalContext.SelectAsArray(c => c is not null ? new CopilotOnTheFlyDocsRelevantFileInfoWrapper(c) : null); } public string SymbolSignature => _onTheFlyDocsInfo.SymbolSignature; public ImmutableArray<CopilotOnTheFlyDocsRelevantFileInfoWrapper?> DeclarationCode => _wrappedDeclarationCode; public string Language => _onTheFlyDocsInfo.Language; public bool IsContentExcluded => _onTheFlyDocsInfo.IsContentExcluded; public ImmutableArray<CopilotOnTheFlyDocsRelevantFileInfoWrapper?> AdditionalContext => _wrappedAdditionalContext; public bool HasComments => _onTheFlyDocsInfo.HasComments; }