From 8e9d4f9c31e7b8516dfbae4edea5fab157072068 Mon Sep 17 00:00:00 2001 From: triton Date: Sat, 1 Mar 2014 16:41:16 +0000 Subject: [PATCH] Fixed generation of copy constructors for CLI value types. --- src/Generator/Generators/CLI/CLIHeadersTemplate.cs | 4 ++++ src/Generator/Generators/CLI/CLISourcesTemplate.cs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs index c9c3e2e6..b6a50ba2 100644 --- a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs +++ b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs @@ -374,6 +374,10 @@ namespace CppSharp.Generators.CLI if (ASTUtils.CheckIgnoreMethod(ctor)) continue; + // C++/CLI does not allow special member funtions for value types. + if (@class.IsValueType && ctor.IsCopyConstructor) + continue; + GenerateMethod(ctor); } diff --git a/src/Generator/Generators/CLI/CLISourcesTemplate.cs b/src/Generator/Generators/CLI/CLISourcesTemplate.cs index 978fc56e..122fdd80 100644 --- a/src/Generator/Generators/CLI/CLISourcesTemplate.cs +++ b/src/Generator/Generators/CLI/CLISourcesTemplate.cs @@ -142,6 +142,10 @@ namespace CppSharp.Generators.CLI if (ASTUtils.CheckIgnoreMethod(method)) continue; + // C++/CLI does not allow special member funtions for value types. + if (@class.IsValueType && method.IsCopyConstructor) + continue; + GenerateMethod(method, @class); }