diff options
Diffstat (limited to 'src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs')
-rw-r--r-- | src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs index 07d482d3e..4ff2e737a 100644 --- a/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs +++ b/src/ILCompiler.Compiler/src/Compiler/DependencyAnalysis/GCStaticDescNode.cs @@ -13,7 +13,7 @@ using Debug = System.Diagnostics.Debug; namespace ILCompiler.DependencyAnalysis { - public class GCStaticDescNode : EmbeddedObjectNode, ISymbolDefinitionNode + public class GCStaticDescNode : EmbeddedObjectNode, ISymbolDefinitionNode, ISortableSymbolNode { private MetadataType _type; private GCPointerMap _gcMap; @@ -177,21 +177,23 @@ namespace ILCompiler.DependencyAnalysis return compare != 0 ? compare : comparer.Compare(_type, other._type); } - protected internal override int ClassCode => 2142332918; - - protected internal override int CompareToImpl(SortableDependencyNode other, CompilerComparer comparer) + public sealed override int ClassCode => 2142332918; + + public override int CompareToImpl(ISortableNode other, CompilerComparer comparer) { - return comparer.Compare(_type, ((GCStaticDescNode)other)._type); + return CompareTo((GCStaticDescNode)other, comparer); } } public class GCStaticDescRegionNode : ArrayOfEmbeddedDataNode<GCStaticDescNode> { - public GCStaticDescRegionNode(string startSymbolMangledName, string endSymbolMangledName) - : base(startSymbolMangledName, endSymbolMangledName, null) + public GCStaticDescRegionNode(string startSymbolMangledName, string endSymbolMangledName, IComparer<GCStaticDescNode> nodeSorter) + : base(startSymbolMangledName, endSymbolMangledName, nodeSorter) { } + public override int ClassCode => 1312891560; + protected override void GetElementDataForNodes(ref ObjectDataBuilder builder, NodeFactory factory, bool relocsOnly) { int numSeries = 0; @@ -246,9 +248,9 @@ namespace ILCompiler.DependencyAnalysis return "Standalone" + _standaloneGCStaticDesc.GetMangledName(context.NameMangler); } - protected internal override int ClassCode => 2091208431; + public override int ClassCode => 2091208431; - protected internal override int CompareToImpl(SortableDependencyNode other, CompilerComparer comparer) + public override int CompareToImpl(ISortableNode other, CompilerComparer comparer) { return _standaloneGCStaticDesc.CompareTo(((StandaloneGCStaticDescRegionNode)other)._standaloneGCStaticDesc, comparer); } |