[mono-api-info] Take number of generic parameters into account when comparing methods.
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Thu, 2 Jun 2016 10:09:09 +0000 (12:09 +0200)
committerRolf Bjarne Kvinge <rolf@xamarin.com>
Thu, 2 Jun 2016 10:12:35 +0000 (12:12 +0200)
mcs/tools/corcompare/mono-api-info.cs

index 8b1ad945095c64d208ea0ce2d8626209b6c68709..55c2aeb4283b7e621624cbb808044cac3accf1ab 100644 (file)
@@ -1571,6 +1571,15 @@ namespace CorCompare
                        if (res != 0)
                                return res;
 
+                       if (ma.HasGenericParameters != mb.HasGenericParameters)
+                               return ma.HasGenericParameters ? -1 : 1;
+
+                       if (ma.HasGenericParameters && mb.HasGenericParameters) {
+                               res = ma.GenericParameters.Count - mb.GenericParameters.Count;
+                               if (res != 0)
+                                       return res;
+                       }
+
                        // operators can differ by only return type
                        return string.CompareOrdinal (ma.ReturnType.FullName, mb.ReturnType.FullName);
                }