Exposes comparers of different characteristics. To get an instance of this interface, use the Comparers property.
Namespace: Metalama.Framework.Code.Comparers
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
[InternalImplement]
public interface ICompilationComparersProperties
| Name | Description |
|---|---|
| Default | Gets an IEqualityComparer<T> allowing to compare types and declarations considers equal two instances that represent the same type or declaration even if they belong to different compilation versions. This comparer ignores the nullability annotations of reference types. |
| DeterministicDeclarationOrder | Gets a deterministic ordering comparer for IDeclaration. The specific order produced by the comparer is an implementation detail — it is guaranteed to be stable across builds of the same compilation but the exact ordering is not part of the public contract. Sort key: depth, then containing declaration (recursively), then name, then signature (for overloadable members). |
| DeterministicTypeOrder | Gets a deterministic ordering comparer for IType. Sort key: kind, then — for named types — containing namespace, declaring type, name, and type arguments; arrays by rank and element type; pointers by pointed-at type; type parameters by kind and index. The specific order is an implementation detail but is stable. |
| IncludeNullability | Gets an IEqualityComparer<T> allowing to compare types and declarations considers equal two instances that represent the same type or declaration even if they belong to different compilation versions. This comparer takes the nullability annotations of reference types into account. |
Methods
| Name | Description |
|---|---|
| GetTypeComparer(TypeComparison) |