| File: Mapping\ITypeMapper.cs | Web Access |
| Project: src\sdk\src\Compatibility\ApiCompat\Microsoft.DotNet.ApiCompatibility\Microsoft.DotNet.ApiCompatibility.csproj (Microsoft.DotNet.ApiCompatibility) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.CodeAnalysis; namespace Microsoft.DotNet.ApiCompatibility.Mapping { /// <summary> /// Interface that represents a mapping between two <see cref="ITypeSymbol"/> objects. /// This also holds the nested types as a list of <see cref="ITypeMapper"/> and the members defined within the type /// as a list of <see cref="IMemberMapper"/> /// </summary> public interface ITypeMapper : IElementMapper<ITypeSymbol> { /// <summary> /// The containing namespace of this type. /// </summary> INamespaceMapper ContainingNamespace { get; } /// <summary> /// The containing type of this type. Null if the type isn't nested. /// </summary> ITypeMapper? ContainingType { get; } /// <summary> /// Indicates whether we have a complete mapper and if the members should be diffed. /// </summary> bool ShouldDiffMembers { get; } /// <summary> /// Gets the nested types within the mapped types. /// </summary> /// <returns>The list of <see cref="ITypeMapper"/> representing the nested types.</returns> IEnumerable<ITypeMapper> GetNestedTypes(); /// <summary> /// Gets the members defined in this type. /// </summary> /// <returns>The list of <see cref="IMemberMapper"/> representing the members.</returns> IEnumerable<IMemberMapper> GetMembers(); } }