From f704ca3a057c7599d46f40142b2057ea89fbe5bb Mon Sep 17 00:00:00 2001 From: triton Date: Sun, 25 Aug 2013 16:10:51 +0100 Subject: [PATCH] Only add missing operator overloads in C# generator. --- .../Passes/CheckOperatorsOverloads.cs | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Generator/Passes/CheckOperatorsOverloads.cs b/src/Generator/Passes/CheckOperatorsOverloads.cs index 3cfb62ae..898fdd6d 100644 --- a/src/Generator/Passes/CheckOperatorsOverloads.cs +++ b/src/Generator/Passes/CheckOperatorsOverloads.cs @@ -24,18 +24,21 @@ namespace CppSharp.Passes // Check for C++ operators that cannot be represented in C#. CheckInvalidOperators(@class); - // The comparison operators, if overloaded, must be overloaded in pairs; - // that is, if == is overloaded, != must also be overloaded. The reverse - // is also true, and similar for < and >, and for <= and >=. + if (Driver.Options.IsCSharpGenerator) + { + // The comparison operators, if overloaded, must be overloaded in pairs; + // that is, if == is overloaded, != must also be overloaded. The reverse + // is also true, and similar for < and >, and for <= and >=. - HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.EqualEqual, - CXXOperatorKind.ExclaimEqual); + HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.EqualEqual, + CXXOperatorKind.ExclaimEqual); - HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.Less, - CXXOperatorKind.Greater); + HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.Less, + CXXOperatorKind.Greater); - HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.LessEqual, - CXXOperatorKind.GreaterEqual); + HandleMissingOperatorOverloadPair(@class, CXXOperatorKind.LessEqual, + CXXOperatorKind.GreaterEqual); + } return false; }