| File: MetadataAsSource\AbstractMetadataAsSourceService.AbstractWrappedSymbol.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. #nullable disable using System.Collections.Immutable; using System.Globalization; using System.Threading; using Microsoft.CodeAnalysis.DocumentationComments; namespace Microsoft.CodeAnalysis.MetadataAsSource; internal abstract partial class AbstractMetadataAsSourceService { private abstract class AbstractWrappedSymbol : ISymbol { private readonly ISymbol _symbol; protected readonly bool CanImplementImplicitly; protected readonly IDocumentationCommentFormattingService DocCommentFormattingService; protected AbstractWrappedSymbol(ISymbol symbol, bool canImplementImplicitly, IDocumentationCommentFormattingService docCommentFormattingService) { _symbol = symbol; CanImplementImplicitly = canImplementImplicitly; DocCommentFormattingService = docCommentFormattingService; } public bool CanBeReferencedByName => _symbol.CanBeReferencedByName; public IAssemblySymbol ContainingAssembly => _symbol.ContainingAssembly; public IModuleSymbol ContainingModule => _symbol.ContainingModule; public INamespaceSymbol ContainingNamespace => _symbol.ContainingNamespace; public ISymbol ContainingSymbol => _symbol.ContainingSymbol; public INamedTypeSymbol ContainingType => _symbol.ContainingType; public Accessibility DeclaredAccessibility => _symbol.DeclaredAccessibility; public ImmutableArray<SyntaxReference> DeclaringSyntaxReferences => _symbol.DeclaringSyntaxReferences; public bool IsAbstract => _symbol.IsAbstract; public bool IsDefinition => _symbol.IsDefinition; public bool IsExtern => _symbol.IsExtern; public bool IsImplicitlyDeclared => _symbol.IsImplicitlyDeclared; public bool IsOverride => _symbol.IsOverride; public bool IsSealed => _symbol.IsSealed; public bool IsStatic => _symbol.IsStatic; public bool IsVirtual => _symbol.IsVirtual; public SymbolKind Kind => _symbol.Kind; public string Language => _symbol.Language; public ImmutableArray<Location> Locations => _symbol.Locations; public string MetadataName => _symbol.MetadataName; public int MetadataToken => _symbol.MetadataToken; public string Name => _symbol.Name; public ISymbol OriginalDefinition => _symbol.OriginalDefinition; public bool HasUnsupportedMetadata => _symbol.HasUnsupportedMetadata; public void Accept(SymbolVisitor visitor) => _symbol.Accept(visitor); public TResult Accept<TResult>(SymbolVisitor<TResult> visitor) => _symbol.Accept(visitor); public TResult Accept<TArgument, TResult>(SymbolVisitor<TArgument, TResult> visitor, TArgument argument) => _symbol.Accept(visitor, argument); public ImmutableArray<AttributeData> GetAttributes() => _symbol.GetAttributes(); public string GetDocumentationCommentId() => _symbol.GetDocumentationCommentId(); public string GetDocumentationCommentXml(CultureInfo preferredCulture = null, bool expandIncludes = false, CancellationToken cancellationToken = default) => _symbol.GetDocumentationCommentXml(preferredCulture, expandIncludes, cancellationToken); public ImmutableArray<SymbolDisplayPart> ToDisplayParts(SymbolDisplayFormat format = null) => _symbol.ToDisplayParts(format); public string ToDisplayString(SymbolDisplayFormat format = null) => _symbol.ToDisplayString(format); public string ToMinimalDisplayString(SemanticModel semanticModel, int position, SymbolDisplayFormat format = null) => _symbol.ToMinimalDisplayString(semanticModel, position, format); public ImmutableArray<SymbolDisplayPart> ToMinimalDisplayParts(SemanticModel semanticModel, int position, SymbolDisplayFormat format = null) => _symbol.ToMinimalDisplayParts(semanticModel, position, format); public bool Equals(ISymbol other) => Equals((object)other); public bool Equals(ISymbol other, SymbolEqualityComparer equalityComparer) => Equals(other); } }