| File: ApiComparerSettings.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; using Microsoft.DotNet.ApiCompatibility.Comparing; using Microsoft.DotNet.ApiCompatibility.Mapping; using Microsoft.DotNet.ApiCompatibility.Rules; using Microsoft.DotNet.ApiSymbolExtensions.Filtering; namespace Microsoft.DotNet.ApiCompatibility { /// <summary> /// Settings for an ApiComparer instance. /// </summary> public class ApiComparerSettings : IMapperSettings, IRuleSettings { /// <inheritdoc /> public ISymbolFilter SymbolFilter { get; set; } /// <inheritdoc /> public IEqualityComparer<ISymbol> SymbolEqualityComparer { get; set; } /// <inheritdoc /> public ISymbolFilter AttributeDataSymbolFilter { get; set; } /// <inheritdoc /> public IEqualityComparer<AttributeData> AttributeDataEqualityComparer { get; set; } /// <inheritdoc /> public bool IncludeInternalSymbols { get; set; } /// <inheritdoc /> public bool StrictMode { get; set; } /// <inheritdoc /> public bool WithReferences { get; set; } public ApiComparerSettings(ISymbolFilter? symbolFilter = null, IEqualityComparer<ISymbol>? symbolEqualityComparer = null, ISymbolFilter? attributeDataSymbolFilter = null, IEqualityComparer<AttributeData>? attributeDataEqualityComparer = null, bool includeInternalSymbols = false, bool strictMode = false, bool withReferences = false) { SymbolFilter = symbolFilter ?? new AccessibilitySymbolFilter(includeInternalSymbols); SymbolEqualityComparer = symbolEqualityComparer ?? new Comparing.SymbolEqualityComparer(); AttributeDataSymbolFilter = attributeDataSymbolFilter ?? new CompositeSymbolFilter(); AttributeDataEqualityComparer = attributeDataEqualityComparer ?? new AttributeDataEqualityComparer(SymbolEqualityComparer, new TypedConstantEqualityComparer(SymbolEqualityComparer)); IncludeInternalSymbols = includeInternalSymbols; StrictMode = strictMode; WithReferences = withReferences; } } }