// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Collections.Immutable; using Microsoft.CodeAnalysis.DocumentationComments; namespace Microsoft.CodeAnalysis.MetadataAsSource { internal partial class AbstractMetadataAsSourceService { private abstract class AbstractWrappedNamespaceOrTypeSymbol : AbstractWrappedSymbol, INamespaceOrTypeSymbol { private readonly INamespaceOrTypeSymbol _symbol; protected AbstractWrappedNamespaceOrTypeSymbol(INamespaceOrTypeSymbol symbol, bool canImplementImplicitly, IDocumentationCommentFormattingService docCommentFormattingService) : base(symbol, canImplementImplicitly, docCommentFormattingService) { _symbol = symbol; } public abstract ImmutableArray GetMembers(); public abstract ImmutableArray GetMembers(string name); public abstract ImmutableArray GetTypeMembers(); public abstract ImmutableArray GetTypeMembers(string name); public abstract ImmutableArray GetTypeMembers(string name, int arity); public bool IsNamespace { get { return _symbol.IsNamespace; } } public bool IsType { get { return _symbol.IsType; } } } } }