From 4875addfb4f61fb21da7fbcafde844524c651906 Mon Sep 17 00:00:00 2001 From: marcos henrich Date: Mon, 22 Jul 2013 02:27:25 +0100 Subject: [PATCH] Added synthetized check on block generation of ObjectOverridesPass.cs so already existing methods are not modified. --- src/Generator/Passes/ObjectOverridesPass.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Generator/Passes/ObjectOverridesPass.cs b/src/Generator/Passes/ObjectOverridesPass.cs index fb55cf5f..bf3e5f71 100644 --- a/src/Generator/Passes/ObjectOverridesPass.cs +++ b/src/Generator/Passes/ObjectOverridesPass.cs @@ -16,12 +16,16 @@ namespace CppSharp foreach (var block in template.FindBlocks(CLIBlockKind.MethodBody)) { var method = block.Declaration as Method; + if (!method.IsSynthetized) + continue; + switch (method.Name) { case "GetHashCode": block.Write("return (int)NativePtr;"); break; case "Equals": + block.WriteLine("if (!object) return false;"); block.Write("return Instance == safe_cast({0})->Instance;", method.Parameters[0].Name);