| File: MetadataAsSource\AbstractMetadataAsSourceService.WrappedPropertySymbol.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 Microsoft.CodeAnalysis.DocumentationComments; namespace Microsoft.CodeAnalysis.MetadataAsSource; internal abstract partial class AbstractMetadataAsSourceService { private sealed class WrappedPropertySymbol(IPropertySymbol propertySymbol, bool canImplementImplicitly, IDocumentationCommentFormattingService docCommentFormattingService) : AbstractWrappedSymbol(propertySymbol, canImplementImplicitly, docCommentFormattingService), IPropertySymbol { private readonly IPropertySymbol _symbol = propertySymbol; public ImmutableArray<IPropertySymbol> ExplicitInterfaceImplementations { get { return CanImplementImplicitly ? [] : _symbol.ExplicitInterfaceImplementations; } } public IMethodSymbol GetMethod => _symbol.GetMethod; public bool IsIndexer => _symbol.IsIndexer; public bool IsReadOnly => _symbol.IsReadOnly; public bool IsWithEvents => _symbol.IsWithEvents; public bool IsWriteOnly => _symbol.IsWriteOnly; public bool IsRequired => _symbol.IsRequired; public bool ReturnsByRef => _symbol.ReturnsByRef; public bool ReturnsByRefReadonly => _symbol.ReturnsByRefReadonly; public RefKind RefKind => _symbol.RefKind; public IPropertySymbol OverriddenProperty => _symbol.OverriddenProperty; public ImmutableArray<IParameterSymbol> Parameters => _symbol.Parameters; public IMethodSymbol SetMethod => _symbol.SetMethod; public ITypeSymbol Type => _symbol.Type; public NullableAnnotation NullableAnnotation => _symbol.NullableAnnotation; public ImmutableArray<CustomModifier> RefCustomModifiers => _symbol.RefCustomModifiers; public ImmutableArray<CustomModifier> TypeCustomModifiers => _symbol.TypeCustomModifiers; ISymbol ISymbol.OriginalDefinition => _symbol.OriginalDefinition; public new IPropertySymbol OriginalDefinition { get { return this; } } public IPropertySymbol PartialDefinitionPart => _symbol.PartialDefinitionPart; public IPropertySymbol PartialImplementationPart => _symbol.PartialImplementationPart; public bool IsPartialDefinition => _symbol.IsPartialDefinition; public IPropertySymbol ReduceExtensionMember(ITypeSymbol receiverType) => throw new System.NotImplementedException(); } }