diff --git a/src/AST/Function.cs b/src/AST/Function.cs index 12533f1d..1e5beb67 100644 --- a/src/AST/Function.cs +++ b/src/AST/Function.cs @@ -88,7 +88,6 @@ namespace CppSharp.AST public enum FunctionSynthKind { None, - NonMemberOperator, ComplementOperator, AbstractImplCall, DefaultValueOverload @@ -190,6 +189,8 @@ namespace CppSharp.AST } public FunctionSynthKind SynthKind { get; set; } + public bool IsSynthetized { get { return SynthKind != FunctionSynthKind.None; } } + public bool IsNonMemberOperator { get; set; } public Function OriginalFunction { get; set; } diff --git a/src/AST/Method.cs b/src/AST/Method.cs index 85d532fa..30c462f6 100644 --- a/src/AST/Method.cs +++ b/src/AST/Method.cs @@ -109,7 +109,6 @@ namespace CppSharp.AST public bool IsConst { get; set; } public bool IsImplicit { get; set; } public bool IsExplicit { get; set; } - public bool IsSynthetized { get { return SynthKind != FunctionSynthKind.None; } } public bool IsOverride { get; set; } public bool IsProxy { get; set; } diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index d02e8aa6..7c6bf8af 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -486,8 +486,7 @@ namespace CppSharp.Generators.CSharp Action tryAddOverload = method => { - if (method.SynthKind != FunctionSynthKind.NonMemberOperator && - method.SynthKind != FunctionSynthKind.None) + if (method.IsSynthetized) return; if (method.IsProxy) diff --git a/src/Generator/Passes/CheckOperatorsOverloads.cs b/src/Generator/Passes/CheckOperatorsOverloads.cs index e35fdd12..18835e46 100644 --- a/src/Generator/Passes/CheckOperatorsOverloads.cs +++ b/src/Generator/Passes/CheckOperatorsOverloads.cs @@ -57,7 +57,7 @@ namespace CppSharp.Passes @operator.ExplicitlyIgnore(); continue; } - if (@operator.SynthKind == FunctionSynthKind.NonMemberOperator) + if (@operator.IsNonMemberOperator) continue; if (@operator.OperatorKind == CXXOperatorKind.Subscript) diff --git a/src/Generator/Passes/MoveFunctionToClassPass.cs b/src/Generator/Passes/MoveFunctionToClassPass.cs index a06873e9..2949beb6 100644 --- a/src/Generator/Passes/MoveFunctionToClassPass.cs +++ b/src/Generator/Passes/MoveFunctionToClassPass.cs @@ -58,7 +58,7 @@ namespace CppSharp.Passes if (!FunctionToInstanceMethodPass.GetClassParameter(param, out type)) return; method.Kind = CXXMethodKind.Operator; - method.SynthKind = FunctionSynthKind.NonMemberOperator; + method.IsNonMemberOperator = true; method.OriginalFunction = null; } diff --git a/src/Generator/Passes/MoveOperatorToClassPass.cs b/src/Generator/Passes/MoveOperatorToClassPass.cs index 6e2a4cd1..252658ef 100644 --- a/src/Generator/Passes/MoveOperatorToClassPass.cs +++ b/src/Generator/Passes/MoveOperatorToClassPass.cs @@ -33,7 +33,7 @@ namespace CppSharp.Passes Namespace = @class, Kind = CXXMethodKind.Operator, OperatorKind = function.OperatorKind, - SynthKind = FunctionSynthKind.NonMemberOperator, + IsNonMemberOperator = true, OriginalFunction = null, IsStatic = true }; diff --git a/src/Generator/Passes/ObjectOverridesPass.cs b/src/Generator/Passes/ObjectOverridesPass.cs index bdcf5ad4..a7a2a708 100644 --- a/src/Generator/Passes/ObjectOverridesPass.cs +++ b/src/Generator/Passes/ObjectOverridesPass.cs @@ -119,7 +119,7 @@ namespace CppSharp Name = "ToString", Namespace = @class, ReturnType = new QualifiedType(stringType), - SynthKind = FunctionSynthKind.NonMemberOperator, + SynthKind = FunctionSynthKind.ComplementOperator, IsOverride = true, IsProxy = true };