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);