Welcome to mirror list, hosted at ThFree Co, Russian Federation.

TypeDesc.Sorting.cs « Sorting « TypeSystem « Common « tools « coreclr « src - github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8ed7b8b5374a36b05d3de532302fe390c005443e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Internal.TypeSystem
{
    // Functionality related to deterministic ordering of types and members
    public partial class TypeDesc
    {
        /// <summary>
        /// Gets an identifier that is the same for all instances of this <see cref="TypeDesc"/>
        /// descendant, but different from the <see cref="ClassCode"/> of any other descendant.
        /// </summary>
        /// <remarks>
        /// This is really just a number, ideally produced by "new Random().Next(int.MinValue, int.MaxValue)".
        /// If two manage to conflict (which is pretty unlikely), just make a new one...
        /// </remarks>
        protected internal abstract int ClassCode { get; }

        // Note to implementers: the type of `other` is actually the same as the type of `this`.
        protected internal abstract int CompareToImpl(TypeDesc other, TypeSystemComparer comparer);
    }
}