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

github.com/mono/mono-tools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jbevain@gmail.com>2008-12-17 13:21:01 +0300
committerJb Evain <jbevain@gmail.com>2008-12-17 13:21:01 +0300
commit20028847f37ced266a8ed96b99f30fe2ac84964d (patch)
treed06375d7ef6b7e8ded2e9a1d3abbdb9c76b594f1 /gui-compare
parentec2359eef322d21b168a6cf72954c800696945e2 (diff)
2008-12-17 Jb Evain <jbevain@novell.com>
* CecilMetadata.cs: treat Finalizers as an implementation detail and ignore it for the comparison. svn path=/trunk/mono-tools/; revision=121671
Diffstat (limited to 'gui-compare')
-rw-r--r--gui-compare/CecilMetadata.cs18
-rw-r--r--gui-compare/ChangeLog5
2 files changed, 23 insertions, 0 deletions
diff --git a/gui-compare/CecilMetadata.cs b/gui-compare/CecilMetadata.cs
index 85215db4..e0d3e7eb 100644
--- a/gui-compare/CecilMetadata.cs
+++ b/gui-compare/CecilMetadata.cs
@@ -138,6 +138,10 @@ namespace GuiCompare {
if (!md.Name.StartsWith("op_"))
continue;
}
+
+ if (IsFinalizer (md))
+ continue;
+
if (md.IsPrivate || md.IsAssembly)
continue;
@@ -181,6 +185,20 @@ namespace GuiCompare {
}
}
+ static bool IsFinalizer (MethodDefinition method)
+ {
+ if (method.Name != "Finalize")
+ return false;
+
+ if (!method.IsVirtual)
+ return false;
+
+ if (method.Parameters.Count != 0)
+ return false;
+
+ return true;
+ }
+
public static void PopulateTypeLists (TypeDefinition fromDef,
List<CompNamed> class_list,
List<CompNamed> enum_list,
diff --git a/gui-compare/ChangeLog b/gui-compare/ChangeLog
index 0a41a415..578ad0bd 100644
--- a/gui-compare/ChangeLog
+++ b/gui-compare/ChangeLog
@@ -1,3 +1,8 @@
+2008-12-17 Jb Evain <jbevain@novell.com>
+
+ * CecilMetadata.cs: treat Finalizers as an implementation detail
+ and ignore it for the comparison.
+
2008-12-16 Jb Evain <jbevain@novell.com>
* CecilMetadata.cs: fix the comparison of the definition